]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/geometry/strategies/relate.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / geometry / strategies / relate.hpp
index 481fb38a16173a1c07ba01e03f7fad15eff93bea..7d388eb5139311e12046f6d3e997a31f72b7b018 100644 (file)
 // Boost.Geometry
 
-// Copyright (c) 2017-2020, Oracle and/or its affiliates.
+// Copyright (c) 2020, Oracle and/or its affiliates.
+
 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
 
-// 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)
+// Licensed under the Boost Software License version 1.0.
+// http://www.boost.org/users/license.html
 
 #ifndef BOOST_GEOMETRY_STRATEGIES_RELATE_HPP
 #define BOOST_GEOMETRY_STRATEGIES_RELATE_HPP
 
 
-#include <type_traits>
-
-#include <boost/geometry/core/cs.hpp>
-#include <boost/geometry/core/point_type.hpp>
-#include <boost/geometry/core/static_assert.hpp>
-#include <boost/geometry/core/topological_dimension.hpp>
-
-#include <boost/geometry/strategies/covered_by.hpp>
-#include <boost/geometry/strategies/intersection.hpp>
-#include <boost/geometry/strategies/within.hpp>
-
-
-namespace boost { namespace geometry
-{
-
-namespace strategy
-{
-    
-namespace point_in_geometry
-{
-
-#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
-namespace services
-{
-
-template
-<
-    typename Point,
-    typename Geometry,
-    typename Tag1 = typename tag<Point>::type,
-    typename Tag2 = typename tag<Geometry>::type
->
-struct default_strategy
-    : strategy::within::services::default_strategy
-        <
-            Point,
-            Geometry
-        >
-{
-    typedef typename default_strategy::type within_strategy_type;
-
-    typedef typename strategy::covered_by::services::default_strategy
-        <
-            Point,
-            Geometry
-        >::type covered_by_strategy_type;
-
-    static const bool same_strategies = std::is_same<within_strategy_type, covered_by_strategy_type>::value;
-    BOOST_GEOMETRY_STATIC_ASSERT(same_strategies,
-        "Default within and covered_by strategies not compatible.",
-        within_strategy_type, covered_by_strategy_type);
-};
-
-template<typename Point, typename Geometry>
-struct default_strategy<Point, Geometry, point_tag, point_tag>
-    : strategy::within::services::default_strategy<Point, Geometry>
-{};
-
-template<typename Point, typename Geometry>
-struct default_strategy<Point, Geometry, point_tag, multi_point_tag>
-    : strategy::within::services::default_strategy<Point, Geometry>
-{};
-
-
-} // namespace services
-#endif // DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
-
-
-} // namespace point_in_geometry
-
-namespace relate
-{
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail
-{
-
-template <typename Geometry>
-struct default_intersection_strategy
-    : strategy::intersection::services::default_strategy
-        <
-            typename cs_tag<Geometry>::type
-        >
-{};
-
-template <typename PointLike, typename Geometry>
-struct default_point_in_geometry_strategy
-    : point_in_geometry::services::default_strategy
-        <
-            typename point_type<PointLike>::type,
-            Geometry
-        >
-{};
-
-} // namespace detail
-#endif // DOXYGEN_NO_DETAIL
-
-#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
-namespace services
-{
-
-template
-<
-    typename Geometry1,
-    typename Geometry2,
-    int TopDim1 = geometry::topological_dimension<Geometry1>::value,
-    int TopDim2 = geometry::topological_dimension<Geometry2>::value
->
-struct default_strategy
-{
-    BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
-        "Not implemented for these types.",
-        Geometry1, Geometry2);
-};
-
-template <typename PointLike1, typename PointLike2>
-struct default_strategy<PointLike1, PointLike2, 0, 0>
-    : detail::default_point_in_geometry_strategy<PointLike1, PointLike2>
-{};
-
-template <typename PointLike, typename Geometry, int TopDim2>
-struct default_strategy<PointLike, Geometry, 0, TopDim2>
-    : detail::default_point_in_geometry_strategy<PointLike, Geometry>
-{};
-
-template <typename Geometry, typename PointLike, int TopDim1>
-struct default_strategy<Geometry, PointLike, TopDim1, 0>
-    : detail::default_point_in_geometry_strategy<PointLike, Geometry>
-{};
-
-template <typename Geometry1, typename Geometry2>
-struct default_strategy<Geometry1, Geometry2, 1, 1>
-    : detail::default_intersection_strategy<Geometry1>
-{};
-
-template <typename Geometry1, typename Geometry2>
-struct default_strategy<Geometry1, Geometry2, 1, 2>
-    : detail::default_intersection_strategy<Geometry1>
-{};
-
-template <typename Geometry1, typename Geometry2>
-struct default_strategy<Geometry1, Geometry2, 2, 1>
-    : detail::default_intersection_strategy<Geometry1>
-{};
-
-template <typename Geometry1, typename Geometry2>
-struct default_strategy<Geometry1, Geometry2, 2, 2>
-    : detail::default_intersection_strategy<Geometry1>
-{};
-
-} // namespace services
-#endif // DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
-
-} // namespace relate
-
-} // namespace strategy
+#include <boost/config/pragma_message.hpp>
+BOOST_PRAGMA_MESSAGE("This include file is deprecated and will be removed in the future.")
 
 
-}} // namespace boost::geometry
+#include <boost/geometry/strategy/relate.hpp>
 
 
 #endif // BOOST_GEOMETRY_STRATEGIES_RELATE_HPP