Advertisement
Guest User

Python's reversed function in C++11

a guest
Jun 14th, 2012
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. template<typename ReverseIterable>
  2. class __reversed
  3. {
  4.     // FUTURE: Could be improved with concepts
  5.  
  6.     private:
  7.  
  8.         ReverseIterable& _iter;
  9.  
  10.     public:
  11.  
  12.         __reversed(ReverseIterable& iter):
  13.             _iter(iter)
  14.         {}
  15.  
  16.         auto begin() -> decltype(_iter.rbegin())
  17.         {
  18.             return _iter.rbegin();
  19.         }
  20.  
  21.         auto end() -> decltype(_iter.rend())
  22.         {
  23.             return _iter.rend();
  24.         }
  25. };
  26.  
  27. template<typename ReverseIterable>
  28. inline __reversed<ReverseIterable> reversed(ReverseIterable& iter)
  29. {
  30.     return __reversed<ReverseIterable>(iter);
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement