forked from boostorg/range
add a range_fwd.hpp header file for the main classes/structs and the extension points.
This commit is contained in:
@ -17,7 +17,7 @@
|
||||
|
||||
#include <boost/range/config.hpp>
|
||||
|
||||
|
||||
#include <boost/range/range_fwd.hpp>
|
||||
#include <boost/range/detail/extract_optional_type.hpp>
|
||||
#include <boost/type_traits/remove_const.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
|
@ -16,6 +16,7 @@
|
||||
#endif
|
||||
|
||||
#include <boost/range/config.hpp>
|
||||
#include <boost/range/range_fwd.hpp>
|
||||
#include <boost/range/mutable_iterator.hpp>
|
||||
#include <boost/range/const_iterator.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include <boost/range/config.hpp>
|
||||
|
||||
|
||||
#include <boost/range/range_fwd.hpp>
|
||||
#include <boost/range/detail/extract_optional_type.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/iterator/iterator_traits.hpp>
|
||||
|
63
include/boost/range/range_fwd.hpp
Normal file
63
include/boost/range/range_fwd.hpp
Normal file
@ -0,0 +1,63 @@
|
||||
// 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
|
@ -27,12 +27,12 @@ namespace boost
|
||||
// default
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
template< typename C >
|
||||
template< typename T >
|
||||
struct range_reverse_iterator
|
||||
{
|
||||
typedef reverse_iterator<
|
||||
BOOST_DEDUCED_TYPENAME range_iterator<
|
||||
BOOST_DEDUCED_TYPENAME remove_reference<C>::type>::type > type;
|
||||
BOOST_DEDUCED_TYPENAME remove_reference<T>::type>::type > type;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user