| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | // Boost.Range library////  Copyright Thorsten Ottosen 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_RBEGIN_HPP#define BOOST_RANGE_RBEGIN_HPP#if defined(_MSC_VER)# pragma once#endif#include <boost/range/end.hpp>#include <boost/range/reverse_iterator.hpp>namespace boost{template< class C >inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::typerbegin( C& c ){    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type        iter_type;    return iter_type( boost::end( c ) );}template< class C >inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::typerbegin( const C& c ){    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type        iter_type;    return iter_type( boost::end( c ) );}template< class T >inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::typeconst_rbegin( const T& r ){    return boost::rbegin( r );}} // namespace 'boost'#endif
 |