// Boost.Geometry (aka GGL, Generic Geometry Library) // Copyright (c) 2013 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2013 Bruno Lalande, Paris, France. // Copyright (c) 2013 Mateusz Loskot, London, UK. // Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_GEOMETRY_POLICIES_ROBUSTNESS_SEGMENT_RATIO_TYPE_HPP #define BOOST_GEOMETRY_POLICIES_ROBUSTNESS_SEGMENT_RATIO_TYPE_HPP #include #include #include #include namespace boost { namespace geometry { namespace detail { // Temporary meta-function to access segment-ratio for a policy template struct segment_ratio_type { // Type in segment ratio is either the coordinate type, or for // deprecated robust point types it is a long_long type typedef typename boost::mpl::if_c < boost::is_same < typename rescale_policy_type::type, no_rescale_policy_tag >::value, typename geometry::coordinate_type::type, boost::long_long_type >::type coordinate_type; // Define segment ratio based on the coordinate type typedef geometry::segment_ratio type; }; }}} // namespace boost::geometry::deatil #endif // BOOST_GEOMETRY_POLICIES_ROBUSTNESS_SEGMENT_RATIO_TYPE_HPP