Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/range/rbegin.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Boost.Range library
0002 //
0003 //  Copyright Thorsten Ottosen 2003-2004. Use, modification and
0004 //  distribution is subject to the Boost Software License, Version
0005 //  1.0. (See accompanying file LICENSE_1_0.txt or copy at
0006 //  http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 // For more information, see http://www.boost.org/libs/range/
0009 //
0010 
0011 #ifndef BOOST_RANGE_RBEGIN_HPP
0012 #define BOOST_RANGE_RBEGIN_HPP
0013 
0014 #if defined(_MSC_VER)
0015 # pragma once
0016 #endif
0017 
0018 #include <boost/range/end.hpp>
0019 #include <boost/range/reverse_iterator.hpp>
0020 
0021 namespace boost
0022 {
0023 
0024 template< class C >
0025 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
0026 rbegin( C& c )
0027 {
0028     typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
0029         iter_type;
0030     return iter_type( boost::end( c ) );
0031 }
0032 
0033 template< class C >
0034 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
0035 rbegin( const C& c )
0036 {
0037     typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
0038         iter_type;
0039     return iter_type( boost::end( c ) );
0040 }
0041 
0042 template< class T >
0043 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
0044 const_rbegin( const T& r )
0045 {
0046     return boost::rbegin( r );
0047 }
0048 
0049 } // namespace 'boost'
0050 
0051 #endif
0052