aboutsummaryrefslogtreecommitdiff
path: root/collections/map/map.h
blob: c6fb83d295ae0b7983b1858cbc39027733a265fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef MAP_H
#define MAP_H

typedef struct map_root map;
typedef int (*cmp_func)(void*, void*);

/*constructors*/
map* map_new(cmp_func);

/*management*/
int map_size(map*);

/*data*/
int map_insert(map*, void*, void*);
void* map_remove(map*, void*);

void* map_set_val(map*, void*, void*);
void* map_index(map*, void*);

void map_swap(map*, void*, void*);

int map_check_key_ptr(map*, void*);
void* map_set_key(map*, void*);


/*memory*/
void map_clear(map*);
void map_free(map*);
#endif