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