Chris@16
|
1 // Boost.Geometry Index
|
Chris@16
|
2 //
|
Chris@16
|
3 // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland.
|
Chris@16
|
4 //
|
Chris@16
|
5 // Use, modification and distribution is subject to the Boost Software License,
|
Chris@16
|
6 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
7 // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
8
|
Chris@16
|
9 #include <boost/range.hpp>
|
Chris@16
|
10 #include <boost/mpl/aux_/has_type.hpp>
|
Chris@16
|
11 #include <boost/mpl/if.hpp>
|
Chris@16
|
12 #include <boost/mpl/and.hpp>
|
Chris@16
|
13 //#include <boost/type_traits/is_convertible.hpp>
|
Chris@16
|
14
|
Chris@16
|
15 #ifndef BOOST_GEOMETRY_INDEX_DETAIL_META_HPP
|
Chris@16
|
16 #define BOOST_GEOMETRY_INDEX_DETAIL_META_HPP
|
Chris@16
|
17
|
Chris@16
|
18 namespace boost { namespace geometry { namespace index { namespace detail {
|
Chris@16
|
19
|
Chris@16
|
20 template <typename T>
|
Chris@16
|
21 struct is_range
|
Chris@16
|
22 : ::boost::mpl::aux::has_type< ::boost::range_iterator<T> >
|
Chris@16
|
23 {};
|
Chris@16
|
24
|
Chris@16
|
25 //template <typename T, typename V, bool IsRange>
|
Chris@16
|
26 //struct is_range_of_convertible_values_impl
|
Chris@16
|
27 // : ::boost::is_convertible<typename ::boost::range_value<T>::type, V>
|
Chris@16
|
28 //{};
|
Chris@16
|
29 //
|
Chris@16
|
30 //template <typename T, typename V>
|
Chris@16
|
31 //struct is_range_of_convertible_values_impl<T, V, false>
|
Chris@16
|
32 // : ::boost::mpl::bool_<false>
|
Chris@16
|
33 //{};
|
Chris@16
|
34 //
|
Chris@16
|
35 //template <typename T, typename V>
|
Chris@16
|
36 //struct is_range_of_convertible_values
|
Chris@16
|
37 // : is_range_of_convertible_values_impl<T, V, is_range<T>::value>
|
Chris@16
|
38 //{};
|
Chris@16
|
39
|
Chris@16
|
40 }}}} // namespace boost::geometry::index::detail
|
Chris@16
|
41
|
Chris@16
|
42 #endif // BOOST_GEOMETRY_INDEX_DETAIL_META_HPP
|