diff options
Diffstat (limited to 'boost/geometry/strategies/index.hpp')
-rw-r--r-- | boost/geometry/strategies/index.hpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/boost/geometry/strategies/index.hpp b/boost/geometry/strategies/index.hpp new file mode 100644 index 0000000000..049b29c5bc --- /dev/null +++ b/boost/geometry/strategies/index.hpp @@ -0,0 +1,71 @@ +// Boost.Geometry Index +// +// R-tree strategies +// +// Copyright (c) 2019, 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) + +#ifndef BOOST_GEOMETRY_STRATEGIES_INDEX_HPP +#define BOOST_GEOMETRY_STRATEGIES_INDEX_HPP + + +#include <boost/geometry/core/cs.hpp> + +#include <boost/geometry/strategies/default_strategy.hpp> + + +namespace boost { namespace geometry { namespace strategy { namespace index +{ + +namespace services +{ + +template +< + typename Geometry, + typename CSTag = typename geometry::cs_tag<Geometry>::type +> +struct default_strategy +{ + /*BOOST_MPL_ASSERT_MSG + ( + false, NOT_IMPLEMENTED_FOR_THESE_TYPES + , (types<Geometry>) + );*/ + + typedef geometry::default_strategy type; +}; + + +// TEMP +// Utility to get index strategy from other strategy +// In the final version this utility will probably replaced with some other mechanism +// The issue is cross-dependencies between strategies +template <typename Strategy> +struct from_strategy +{ + /*BOOST_MPL_ASSERT_MSG + ( + false, NOT_IMPLEMENTED_FOR_THESE_TYPES + , (types<Strategy>) + );*/ + + typedef geometry::default_strategy type; + + static inline type get(Strategy const&) + { + return type(); + } +}; + + +} // namespace services + + +}}}} // namespace boost::geometry::strategy::index + +#endif // BOOST_GEOMETRY_STRATEGIES_INDEX_HPP |