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