1 #pragma once 2 3 // mapbox 4 #include <mapbox/geometry/point.hpp> 5 // stl 6 #include <vector> 7 8 namespace mapbox { 9 namespace geometry { 10 11 template <typename T, template <typename...> class Cont = std::vector> 12 struct line_string : Cont<point<T> > 13 { 14 using coordinate_type = T; 15 using point_type = point<T>; 16 using container_type = Cont<point_type>; 17 using size_type = typename container_type::size_type; 18 19 template <class... Args> line_stringmapbox::geometry::line_string20 line_string(Args&&... args) : container_type(std::forward<Args>(args)...) {} line_stringmapbox::geometry::line_string21 line_string(std::initializer_list<point_type> args) 22 : container_type(std::move(args)) {} 23 }; 24 25 } // namespace geometry 26 } // namespace mapbox 27