range_fwd.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Boost.Range library
  2. //
  3. // Copyright Neil Groves 2003-2004.
  4. // Use, modification and distribution is subject to the Boost Software
  5. // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8. // For more information, see http://www.boost.org/libs/range/
  9. //
  10. #ifndef BOOST_RANGE_RANGE_FWD_HPP_INCLUDED
  11. #define BOOST_RANGE_RANGE_FWD_HPP_INCLUDED
  12. namespace boost
  13. {
  14. // Extension points
  15. template<typename C, typename Enabler>
  16. struct range_iterator;
  17. template<typename C, typename Enabler>
  18. struct range_mutable_iterator;
  19. template<typename C, typename Enabler>
  20. struct range_const_iterator;
  21. // Core classes
  22. template<typename IteratorT>
  23. class iterator_range;
  24. template<typename ForwardRange>
  25. class sub_range;
  26. // Meta-functions
  27. template<typename T>
  28. struct range_category;
  29. template<typename T>
  30. struct range_difference;
  31. template<typename T>
  32. struct range_pointer;
  33. template<typename T>
  34. struct range_reference;
  35. template<typename T>
  36. struct range_reverse_iterator;
  37. template<typename T>
  38. struct range_size;
  39. template<typename T>
  40. struct range_value;
  41. template<typename T>
  42. struct has_range_iterator;
  43. template<typename T>
  44. struct has_range_const_iterator;
  45. } // namespace boost
  46. #endif // include guard