64 lines
1.4 KiB
C++
64 lines
1.4 KiB
C++
|
// Boost.Range library
|
||
|
//
|
||
|
// Copyright Neil Groves 2003-2004.
|
||
|
// 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)
|
||
|
//
|
||
|
// For more information, see http://www.boost.org/libs/range/
|
||
|
//
|
||
|
#ifndef BOOST_RANGE_RANGE_FWD_HPP_INCLUDED
|
||
|
#define BOOST_RANGE_RANGE_FWD_HPP_INCLUDED
|
||
|
|
||
|
namespace boost
|
||
|
{
|
||
|
|
||
|
// Extension points
|
||
|
template<typename C, typename Enabler>
|
||
|
struct range_iterator;
|
||
|
|
||
|
template<typename C, typename Enabler>
|
||
|
struct range_mutable_iterator;
|
||
|
|
||
|
template<typename C, typename Enabler>
|
||
|
struct range_const_iterator;
|
||
|
|
||
|
// Core classes
|
||
|
template<typename IteratorT>
|
||
|
class iterator_range;
|
||
|
|
||
|
template<typename ForwardRange>
|
||
|
class sub_range;
|
||
|
|
||
|
// Meta-functions
|
||
|
template<typename T>
|
||
|
struct range_category;
|
||
|
|
||
|
template<typename T>
|
||
|
struct range_difference;
|
||
|
|
||
|
template<typename T>
|
||
|
struct range_pointer;
|
||
|
|
||
|
template<typename T>
|
||
|
struct range_reference;
|
||
|
|
||
|
template<typename T>
|
||
|
struct range_reverse_iterator;
|
||
|
|
||
|
template<typename T>
|
||
|
struct range_size;
|
||
|
|
||
|
template<typename T>
|
||
|
struct range_value;
|
||
|
|
||
|
template<typename T>
|
||
|
struct has_range_iterator;
|
||
|
|
||
|
template<typename T>
|
||
|
struct has_range_const_iterator;
|
||
|
|
||
|
} // namespace boost
|
||
|
|
||
|
#endif // include guard
|