1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// reverse_iterator::operator-> example
#include <iostream> // std::cout
#include <iterator> // std::reverse_iterator
#include <utility> // std::make_pair
#include <map> // std::map
#include <string> // std::string
int main () {
std::map<int,std::string> numbers;
numbers.insert (std::make_pair(1,"one"));
numbers.insert (std::make_pair(2,"two"));
numbers.insert (std::make_pair(3,"three"));
typedef std::map<int,std::string>::iterator map_iter;
std::reverse_iterator<map_iter> rev_end (numbers.begin());
std::reverse_iterator<map_iter> rev_iterator (numbers.end());
for ( ; rev_iterator != rev_end ; ++rev_iterator )
std::cout << rev_iterator->first << ' ' << rev_iterator->second << '\n';
return 0;
}
|