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