Assembla home | Assembla project page
 

root/trunk/cbear.berlios.de/range/reverse_sub_range.hpp

Revision 2, 0.8 kB (checked in by sergey_shandar, 1 year ago)

restoring...

Line 
1 #ifndef CBEAR_BERLIOS_DE_RANGE_REVERSE_SUB_RANGE_HPP_INCLUDED
2 #define CBEAR_BERLIOS_DE_RANGE_REVERSE_SUB_RANGE_HPP_INCLUDED
3
4 #include <cbear.berlios.de/range/reverse_iterator_range.hpp>
5 #include <cbear.berlios.de/range/rbegin.hpp>
6 #include <cbear.berlios.de/range/rend.hpp>
7
8 namespace cbear_berlios_de
9 {
10 namespace range
11 {
12
13 template<class Range>
14 struct reverse_sub_range: reverse_iterator_range<typename iterator<Range>::type>
15 {
16 };
17
18 template<class Range>
19 typename reverse_sub_range<Range>::type make_reverse_sub_range(
20         Range &X)
21 {
22         return reverse_sub_range<Range>::type(rbegin(X), rend(X));
23 }
24
25 template<class Range>
26 typename reverse_sub_range<const Range>::type make_reverse_sub_range(
27         const Range &X)
28 {
29         return reverse_sub_range<const Range>::type(rbegin(X), rend(X));
30 }
31
32 }
33 }
34
35 #endif
36
Note: See TracBrowser for help on using the browser.