Libecoli 0.11.1
Extensible COmmand LIne library
Loading...
Searching...
No Matches
dict.h
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
3 */
4
14
15#pragma once
16
17#include <stdbool.h>
18#include <stdio.h>
19
21typedef void (*ec_dict_elt_free_t)(void *);
22
24struct ec_dict;
25
27struct ec_dict_elt_ref;
28
35struct ec_dict *ec_dict(void);
36
49void *ec_dict_get(const struct ec_dict *dict, const char *key);
50
62bool ec_dict_has_key(const struct ec_dict *dict, const char *key);
63
74int ec_dict_del(struct ec_dict *dict, const char *key);
75
92int ec_dict_set(struct ec_dict *dict, const char *key, void *val, ec_dict_elt_free_t free_cb);
93
100void ec_dict_free(struct ec_dict *dict);
101
110size_t ec_dict_len(const struct ec_dict *dict);
111
124struct ec_dict *ec_dict_dup(const struct ec_dict *dict);
125
134void ec_dict_dump(FILE *out, const struct ec_dict *dict);
135
156struct ec_dict_elt_ref *ec_dict_iter(const struct ec_dict *dict);
157
166struct ec_dict_elt_ref *ec_dict_iter_next(struct ec_dict_elt_ref *iter);
167
177const char *ec_dict_iter_get_key(const struct ec_dict_elt_ref *iter);
178
188void *ec_dict_iter_get_val(const struct ec_dict_elt_ref *iter);
189
size_t ec_dict_len(const struct ec_dict *dict)
bool ec_dict_has_key(const struct ec_dict *dict, const char *key)
void ec_dict_free(struct ec_dict *dict)
struct ec_dict * ec_dict(void)
void * ec_dict_iter_get_val(const struct ec_dict_elt_ref *iter)
struct ec_dict_elt_ref * ec_dict_iter_next(struct ec_dict_elt_ref *iter)
void * ec_dict_get(const struct ec_dict *dict, const char *key)
struct ec_dict * ec_dict_dup(const struct ec_dict *dict)
void(* ec_dict_elt_free_t)(void *)
Definition dict.h:21
const char * ec_dict_iter_get_key(const struct ec_dict_elt_ref *iter)
struct ec_dict_elt_ref * ec_dict_iter(const struct ec_dict *dict)
int ec_dict_del(struct ec_dict *dict, const char *key)
void ec_dict_dump(FILE *out, const struct ec_dict *dict)
int ec_dict_set(struct ec_dict *dict, const char *key, void *val, ec_dict_elt_free_t free_cb)