• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Boost.Geometry (aka GGL, Generic Geometry Library)
2 
3 // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
4 // Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland
5 
6 // Use, modification and distribution is subject to the Boost Software License,
7 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 
10 #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_DO_REVERSE_HPP
11 #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_DO_REVERSE_HPP
12 
13 #include <boost/geometry/core/point_order.hpp>
14 
15 namespace boost { namespace geometry
16 {
17 
18 
19 #ifndef DOXYGEN_NO_DETAIL
20 namespace detail { namespace overlay
21 {
22 
23 // Metafunction helper for intersection and union
24 template <order_selector Selector, bool Reverse = false>
25 struct do_reverse {};
26 
27 template <>
28 struct do_reverse<clockwise, false> : boost::false_type {};
29 
30 template <>
31 struct do_reverse<clockwise, true> : boost::true_type {};
32 
33 template <>
34 struct do_reverse<counterclockwise, false> : boost::true_type {};
35 
36 template <>
37 struct do_reverse<counterclockwise, true> : boost::false_type {};
38 
39 
40 }} // namespace detail::overlay
41 #endif // DOXYGEN_NO_DETAIL
42 
43 
44 }} // namespace boost::geometry
45 
46 
47 #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_DO_REVERSE_HPP
48