| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | // 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_INCLUDEDnamespace 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
 |