cn_map / cn_map_rtraverse
Syntax
cn_map_rtraverse(CN_MAP map, CNM_ITERATOR * iterator)
Description
Loop Shorthand which traverses through all nodes in
map in reverse order using
iterator. In the loop, you may access
iterator to grab all key/value pairs. It is equivalent to:
for (cn_map_rbegin(map, iterator); !cn_map_at_rend(map, iterator); cn_map_prev(map, iterator))
Return Value
Examples
Basic Usage
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cn_cmp.h"
#include "cn_map.h"
main() {
CN_MAP map = cn_map_init(char, int, cn_cmp_char);
char key;
int value;
//Put in a-z with 0-25 in as key/value pairs.
for (key = 'a', value = 0; key <= 'z'; key++, value++) {
cn_map_insert(map, &key, &value);
}
//Iterate through
CNM_ITERATOR it;
cn_map_rtraverse(map, &it) {
printf(
"%c -> %d\n",
cn_map_iterator_key (&it, char),
cn_map_iterator_value(&it, int)
);
}
}