codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <iostream> template <typename T> struct RIterator { RIterator(T *_data, size_t _size) : data(_data), size(_size), position(_data + _size - 1) {} /* Iterator starts at end of array */ void operator++() { --position; } void operator--() { ++position; } bool at_end() { return (position == data) ? true : false; } T *get_data() { return position; } private: T *data; size_t size; T *position; }; int main() { const char bob[] = "abcdefg"; RIterator<const char> iterator(bob, sizeof(bob) / sizeof(bob[0])); for (; !iterator.at_end(); ++iterator) { std::cout << "Current Element: " << iterator.get_data()[0] << std::endl; } std::cout << "Current Element: " << iterator.get_data()[0] << std::endl; }
Private
[
?
]
Run code
Submit