From 5d98ec36d66db8897f7e3e5120b43c50f379baea Mon Sep 17 00:00:00 2001 From: zheng_wenlong Date: Wed, 14 Nov 2018 12:50:56 +0900 Subject: Add tbtnavi for vertical mode Add tbtnavi for vertical mode. This application use waltham transmitter send video to horizontal mode. Change-Id: Icc8bb14f9c83439d90f28d0960e435a43a5e5245 Signed-off-by: zheng_wenlong --- .../include/mapbox/geometry/for_each_point.hpp | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 demo3/vertical/tbtnavi_demo/include/mapbox/geometry/for_each_point.hpp (limited to 'demo3/vertical/tbtnavi_demo/include/mapbox/geometry/for_each_point.hpp') diff --git a/demo3/vertical/tbtnavi_demo/include/mapbox/geometry/for_each_point.hpp b/demo3/vertical/tbtnavi_demo/include/mapbox/geometry/for_each_point.hpp new file mode 100644 index 0000000..44d6e77 --- /dev/null +++ b/demo3/vertical/tbtnavi_demo/include/mapbox/geometry/for_each_point.hpp @@ -0,0 +1,45 @@ +#pragma once + +#include + +namespace mapbox { +namespace geometry { + +template +auto for_each_point(Point&& point, F&& f) + -> decltype(point.x, point.y, void()) +{ + f(std::forward(point)); +} + +template +auto for_each_point(Container&& container, F&& f) + -> decltype(container.begin(), container.end(), void()); + +template +void for_each_point(mapbox::util::variant const& geom, F&& f) +{ + mapbox::util::variant::visit(geom, [&] (auto const& g) { + for_each_point(g, f); + }); +} + +template +void for_each_point(mapbox::util::variant & geom, F&& f) +{ + mapbox::util::variant::visit(geom, [&] (auto & g) { + for_each_point(g, f); + }); +} + +template +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 -- cgit 1.2.3-korg