21 lines
581 B
C
21 lines
581 B
C
|
#ifndef ORDEREDMAP_H
|
||
|
#define ORDEREDMAP_H
|
||
|
|
||
|
#include <stdlib.h>
|
||
|
#include "sblist.h"
|
||
|
#include "hsearch.h"
|
||
|
|
||
|
typedef struct orderedmap {
|
||
|
sblist* values;
|
||
|
struct htab *map;
|
||
|
} *orderedmap;
|
||
|
|
||
|
struct orderedmap *orderedmap_create(size_t nbuckets);
|
||
|
void* orderedmap_destroy(struct orderedmap *o);
|
||
|
int orderedmap_append(struct orderedmap *o, const char *key, char *value );
|
||
|
char* orderedmap_find(struct orderedmap *o, const char *key);
|
||
|
int orderedmap_remove(struct orderedmap *o, const char *key);
|
||
|
size_t orderedmap_next(struct orderedmap *o, size_t iter, char** key, char** value);
|
||
|
|
||
|
#endif
|