diff options
Diffstat (limited to 'include/mapbox/geometry/for_each_point.hpp')
-rw-r--r-- | include/mapbox/geometry/for_each_point.hpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/include/mapbox/geometry/for_each_point.hpp b/include/mapbox/geometry/for_each_point.hpp deleted file mode 100644 index 44d6e77..0000000 --- a/include/mapbox/geometry/for_each_point.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include <mapbox/geometry/geometry.hpp> - -namespace mapbox { -namespace geometry { - -template <typename Point, typename F> -auto for_each_point(Point&& point, F&& f) - -> decltype(point.x, point.y, void()) -{ - f(std::forward<Point>(point)); -} - -template <typename Container, typename F> -auto for_each_point(Container&& container, F&& f) - -> decltype(container.begin(), container.end(), void()); - -template <typename...Types, typename F> -void for_each_point(mapbox::util::variant<Types...> const& geom, F&& f) -{ - mapbox::util::variant<Types...>::visit(geom, [&] (auto const& g) { - for_each_point(g, f); - }); -} - -template <typename...Types, typename F> -void for_each_point(mapbox::util::variant<Types...> & geom, F&& f) -{ - mapbox::util::variant<Types...>::visit(geom, [&] (auto & g) { - for_each_point(g, f); - }); -} - -template <typename Container, typename F> -auto for_each_point(Container&& container, F&& f) - -> decltype(container.begin(), container.end(), void()) -{ - for (auto& e: container) { - for_each_point(e, f); - } -} - -} // namespace geometry -} // namespace mapbox |