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 multi_point : 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>
multi_pointmapbox::geometry::multi_point20     multi_point(Args&&... args) : container_type(std::forward<Args>(args)...)
21     {
22     }
multi_pointmapbox::geometry::multi_point23     multi_point(std::initializer_list<point_type> args)
24         : container_type(std::move(args)) {}
25 };
26 
27 } // namespace geometry
28 } // namespace mapbox
29