meta.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #include <boost/range.hpp>
  9. #include <boost/mpl/aux_/has_type.hpp>
  10. #include <boost/mpl/if.hpp>
  11. #include <boost/mpl/and.hpp>
  12. //#include <boost/type_traits/is_convertible.hpp>
  13. #ifndef BOOST_GEOMETRY_INDEX_DETAIL_META_HPP
  14. #define BOOST_GEOMETRY_INDEX_DETAIL_META_HPP
  15. namespace boost { namespace geometry { namespace index { namespace detail {
  16. template <typename T>
  17. struct is_range
  18. : ::boost::mpl::aux::has_type< ::boost::range_iterator<T> >
  19. {};
  20. //template <typename T, typename V, bool IsRange>
  21. //struct is_range_of_convertible_values_impl
  22. // : ::boost::is_convertible<typename ::boost::range_value<T>::type, V>
  23. //{};
  24. //
  25. //template <typename T, typename V>
  26. //struct is_range_of_convertible_values_impl<T, V, false>
  27. // : ::boost::mpl::bool_<false>
  28. //{};
  29. //
  30. //template <typename T, typename V>
  31. //struct is_range_of_convertible_values
  32. // : is_range_of_convertible_values_impl<T, V, is_range<T>::value>
  33. //{};
  34. }}}} // namespace boost::geometry::index::detail
  35. #endif // BOOST_GEOMETRY_INDEX_DETAIL_META_HPP