72 lines
1.5 KiB
C++
72 lines
1.5 KiB
C++
// 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
|