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