Mercurial > hg > vamp-build-and-test
annotate DEPENDENCIES/generic/include/boost/range/rbegin.hpp @ 125:34e428693f5d vext
Vext -> Repoint
author | Chris Cannam |
---|---|
date | Thu, 14 Jun 2018 11:15:39 +0100 |
parents | c530137014c0 |
children |
rev | line source |
---|---|
Chris@16 | 1 // Boost.Range library |
Chris@16 | 2 // |
Chris@16 | 3 // Copyright Thorsten Ottosen 2003-2004. Use, modification and |
Chris@16 | 4 // distribution is subject to the Boost Software License, Version |
Chris@16 | 5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at |
Chris@16 | 6 // http://www.boost.org/LICENSE_1_0.txt) |
Chris@16 | 7 // |
Chris@16 | 8 // For more information, see http://www.boost.org/libs/range/ |
Chris@16 | 9 // |
Chris@16 | 10 |
Chris@16 | 11 #ifndef BOOST_RANGE_RBEGIN_HPP |
Chris@16 | 12 #define BOOST_RANGE_RBEGIN_HPP |
Chris@16 | 13 |
Chris@101 | 14 #if defined(_MSC_VER) |
Chris@16 | 15 # pragma once |
Chris@16 | 16 #endif |
Chris@16 | 17 |
Chris@16 | 18 #include <boost/range/end.hpp> |
Chris@16 | 19 #include <boost/range/reverse_iterator.hpp> |
Chris@16 | 20 |
Chris@16 | 21 namespace boost |
Chris@16 | 22 { |
Chris@16 | 23 |
Chris@16 | 24 #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING |
Chris@16 | 25 |
Chris@16 | 26 template< class C > |
Chris@16 | 27 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type |
Chris@16 | 28 rbegin( C& c ) |
Chris@16 | 29 { |
Chris@16 | 30 return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::end( c ) ); |
Chris@16 | 31 } |
Chris@16 | 32 |
Chris@16 | 33 #else |
Chris@16 | 34 |
Chris@16 | 35 template< class C > |
Chris@16 | 36 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type |
Chris@16 | 37 rbegin( C& c ) |
Chris@16 | 38 { |
Chris@16 | 39 typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type |
Chris@16 | 40 iter_type; |
Chris@16 | 41 return iter_type( boost::end( c ) ); |
Chris@16 | 42 } |
Chris@16 | 43 |
Chris@16 | 44 template< class C > |
Chris@16 | 45 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type |
Chris@16 | 46 rbegin( const C& c ) |
Chris@16 | 47 { |
Chris@16 | 48 typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type |
Chris@16 | 49 iter_type; |
Chris@16 | 50 return iter_type( boost::end( c ) ); |
Chris@16 | 51 } |
Chris@16 | 52 |
Chris@16 | 53 #endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING |
Chris@16 | 54 |
Chris@16 | 55 template< class T > |
Chris@16 | 56 inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type |
Chris@16 | 57 const_rbegin( const T& r ) |
Chris@16 | 58 { |
Chris@16 | 59 return boost::rbegin( r ); |
Chris@16 | 60 } |
Chris@16 | 61 |
Chris@16 | 62 } // namespace 'boost' |
Chris@16 | 63 |
Chris@16 | 64 #endif |
Chris@16 | 65 |