Assembla home | Assembla project page
 

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

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

restoring...

Line 
1 #ifndef CBEAR_BERLIOS_DE_RANGE_REVERSE_ITERATOR_RANGE_HPP_INCLUDED
2 #define CBEAR_BERLIOS_DE_RANGE_REVERSE_ITERATOR_RANGE_HPP_INCLUDED
3
4 #include <cbear.berlios.de/range/iterator_range.hpp>
5
6 namespace cbear_berlios_de
7 {
8 namespace range
9 {
10
11 template<class Iterator>
12 struct reverse_iterator_range
13 {
14         typedef iterator_range< ::std::reverse_iterator<Iterator> > type;
15 };
16
17 template<class Iterator>
18 typename reverse_iterator_range<Iterator>::type make_reverse_iterator_range(
19         const Iterator &B, const Iterator &E)
20 {
21         typedef ::std::reverse_iterator<Iterator> reverse_iterator;
22         return reverse_iterator_range<Iterator>::type(
23                 reverse_iterator(E), reverse_iterator(B));
24 }
25
26 }
27 }
28
29 #endif
30
Note: See TracBrowser for help on using the browser.