#pragma once // mapbox #include // stl #include namespace mapbox { namespace geometry { template class Cont = std::vector> struct linear_ring : Cont> { using coordinate_type = T; using point_type = point; using container_type = Cont; using size_type = typename container_type::size_type; template linear_ring(Args&&... args) : container_type(std::forward(args)...) { } linear_ring(std::initializer_list args) : container_type(std::move(args)) {} }; template class Cont = std::vector> struct polygon : Cont> { using coordinate_type = T; using linear_ring_type = linear_ring; using container_type = Cont; using size_type = typename container_type::size_type; template polygon(Args&&... args) : container_type(std::forward(args)...) { } polygon(std::initializer_list args) : container_type(std::move(args)) {} }; } // namespace geometry } // namespace mapbox