/*
 * main.c
 *
 *  Created on: Oct 29, 2010
 *      Author: jenson
 */

#include <cstl/cmap.h>
#include <stdio.h>

int main() {

    map_t *map = create_map(char *,int);
    if (map == NULL) {
        perror("create_map");
        exit(1);
    }

    map_init(map);

    *(int *)map_at(map,"one") = 1;
    *(int *)map_at(map,"two") = 2;
    *(int *)map_at(map,"three") = 3;
    *(int *)map_at(map,"four") = 4;

    map_iterator_t iterator;

    for (iterator = map_begin(map); !iterator_equal(iterator, map_end(map)); iterator
            = iterator_next(iterator)) {
        printf("key=%s,value=%d\n", (char *) pair_first(iterator_get_pointer(
                iterator)),
                *(int *) pair_second(iterator_get_pointer(iterator)));
    }

    map_destroy(map);
    return 0;
}