// Boost.Geometry Index
|
//
|
// R-tree strategies
|
//
|
// Copyright (c) 2019-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)
|
|
#ifndef BOOST_GEOMETRY_STRATEGIES_INDEX_HPP
|
#define BOOST_GEOMETRY_STRATEGIES_INDEX_HPP
|
|
|
#include <boost/geometry/core/cs.hpp>
|
#include <boost/geometry/core/static_assert.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_GEOMETRY_STATIC_ASSERT_FALSE(
|
"Not implemented for this type.",
|
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_GEOMETRY_STATIC_ASSERT_FALSE(
|
"Not implemented for this type.",
|
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
|