/
usr
/
include
/
boost
/
geometry
/
strategies
/
/usr/include/boost/geometry/strategies
mkdir
upload
Name
Size
Mode
Actions
agnostic/
-
0755
rm
cartesian/
-
0755
rm
concepts/
-
0755
rm
geographic/
-
0755
rm
spherical/
-
0755
rm
transform/
-
0755
rm
area.hpp
2031
0644
edit
dl
rm
area_result.hpp
3205
0644
edit
dl
rm
azimuth.hpp
1203
0644
edit
dl
rm
buffer.hpp
2425
0644
edit
dl
rm
centroid.hpp
1660
0644
edit
dl
rm
comparable_distance_result.hpp
5339
0644
edit
dl
rm
compare.hpp
5188
0644
edit
dl
rm
convex_hull.hpp
1564
0644
edit
dl
rm
covered_by.hpp
3486
0644
edit
dl
rm
default_area_result.hpp
1287
0644
edit
dl
rm
default_comparable_distance_result.hpp
1552
0644
edit
dl
rm
default_distance_result.hpp
1475
0644
edit
dl
rm
default_length_result.hpp
2493
0644
edit
dl
rm
default_strategy.hpp
1270
0644
edit
dl
rm
densify.hpp
798
0644
edit
dl
rm
disjoint.hpp
2644
0644
edit
dl
rm
distance.hpp
2921
0644
edit
dl
rm
distance_result.hpp
6443
0644
edit
dl
rm
envelope.hpp
1257
0644
edit
dl
rm
expand.hpp
1128
0644
edit
dl
rm
index.hpp
1574
0644
edit
dl
rm
intersection.hpp
1222
0644
edit
dl
rm
intersection_result.hpp
1995
0644
edit
dl
rm
intersection_strategies.hpp
3106
0644
edit
dl
rm
io.hpp
806
0644
edit
dl
rm
line_interpolate.hpp
850
0644
edit
dl
rm
normalize.hpp
8399
0644
edit
dl
rm
point_order.hpp
862
0644
edit
dl
rm
relate.hpp
4656
0644
edit
dl
rm
side.hpp
1585
0644
edit
dl
rm
side_info.hpp
4511
0644
edit
dl
rm
strategies.hpp
8628
0644
edit
dl
rm
strategy_transform.hpp
16469
0644
edit
dl
rm
tags.hpp
1655
0644
edit
dl
rm
transform.hpp
1859
0644
edit
dl
rm
within.hpp
3457
0644
edit
dl
rm
Edit:
/usr/include/boost/geometry/strategies/comparable_distance_result.hpp
(5339B)
// Boost.Geometry (aka GGL, Generic Geometry Library) // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html #ifndef BOOST_GEOMETRY_STRATEGIES_COMPARABLE_DISTANCE_RESULT_HPP #define BOOST_GEOMETRY_STRATEGIES_COMPARABLE_DISTANCE_RESULT_HPP #include <boost/mpl/always.hpp> #include <boost/mpl/bool.hpp> #include <boost/mpl/vector.hpp> #include <boost/variant/variant_fwd.hpp> #include <boost/geometry/core/point_type.hpp> #include <boost/geometry/strategies/default_strategy.hpp> #include <boost/geometry/strategies/distance.hpp> #include <boost/geometry/util/compress_variant.hpp> #include <boost/geometry/util/transform_variant.hpp> #include <boost/geometry/util/combine_if.hpp> #include <boost/geometry/algorithms/detail/distance/default_strategies.hpp> namespace boost { namespace geometry { namespace resolve_strategy { template <typename Geometry1, typename Geometry2, typename Strategy> struct comparable_distance_result : strategy::distance::services::return_type < typename strategy::distance::services::comparable_type < Strategy >::type, typename point_type<Geometry1>::type, typename point_type<Geometry2>::type > {}; template <typename Geometry1, typename Geometry2> struct comparable_distance_result<Geometry1, Geometry2, default_strategy> : comparable_distance_result < Geometry1, Geometry2, typename detail::distance::default_strategy < Geometry1, Geometry2 >::type > {}; } // namespace resolve_strategy namespace resolve_variant { template <typename Geometry1, typename Geometry2, typename Strategy> struct comparable_distance_result : resolve_strategy::comparable_distance_result < Geometry1, Geometry2, Strategy > {}; template < typename Geometry1, BOOST_VARIANT_ENUM_PARAMS(typename T), typename Strategy > struct comparable_distance_result < Geometry1, boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Strategy > { // A set of all variant type combinations that are compatible and // implemented typedef typename util::combine_if< typename boost::mpl::vector1<Geometry1>, typename boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types, boost::mpl::always<boost::mpl::true_> >::type possible_input_types; // The (possibly variant) result type resulting from these combinations typedef typename compress_variant< typename transform_variant< possible_input_types, resolve_strategy::comparable_distance_result< boost::mpl::first<boost::mpl::_>, boost::mpl::second<boost::mpl::_>, Strategy >, boost::mpl::back_inserter<boost::mpl::vector0<> > >::type >::type type; }; // Distance arguments are commutative template < BOOST_VARIANT_ENUM_PARAMS(typename T), typename Geometry2, typename Strategy > struct comparable_distance_result < boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Geometry2, Strategy > : public comparable_distance_result < Geometry2, boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Strategy > {}; template <BOOST_VARIANT_ENUM_PARAMS(typename T), typename Strategy> struct comparable_distance_result < boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Strategy > { // A set of all variant type combinations that are compatible and // implemented typedef typename util::combine_if < typename boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types, typename boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types, boost::mpl::always<boost::mpl::true_> >::type possible_input_types; // The (possibly variant) result type resulting from these combinations typedef typename compress_variant< typename transform_variant< possible_input_types, resolve_strategy::comparable_distance_result< boost::mpl::first<boost::mpl::_>, boost::mpl::second<boost::mpl::_>, Strategy >, boost::mpl::back_inserter<boost::mpl::vector0<> > >::type >::type type; }; } // namespace resolve_variant /*! \brief Meta-function defining return type of comparable_distance function \ingroup distance */ template < typename Geometry1, typename Geometry2 = Geometry1, typename Strategy = void > struct comparable_distance_result : resolve_variant::comparable_distance_result < Geometry1, Geometry2, Strategy > {}; template <typename Geometry1, typename Geometry2> struct comparable_distance_result<Geometry1, Geometry2, void> : comparable_distance_result<Geometry1, Geometry2, default_strategy> {}; }} // namespace boost::geometry #endif // BOOST_GEOMETRY_STRATEGIES_COMPARABLE_DISTANCE_RESULT_HPP
Save
cmd:
run