Derleyici Tasarımı
Yüklüyor...
Arıyor...
Eşleşme Yok
map.h
Bu dosyanın dokümantasyonuna git.
1
10#ifndef MAP_H
11#define MAP_H
12
13
14#include <stddef.h>
15
16
18struct map {
20 struct map_entry *entries;
21 size_t cap;
22 size_t used;
23 size_t value_size;
25};
26
28struct map_it {
30 struct map *m;
31 size_t i;
33};
34
36struct map_entry {
37 void *key ;
38 size_t keylen ;
39 char value[] ;
40};
41
42
49void map_init(struct map *map, size_t value_size);
50
52void map_destroy(struct map *map);
53
59void *map_get(struct map *map, const void *key);
60
62void *map_get2(struct map *map, const void *key, size_t keylen);
63
71void map_insert(struct map *map, const void *key, const void *value);
72
73
79void map_insert2(struct map *map, const void *key, size_t keylen, const void *value);
80
90void *map_delete(struct map *map, const void *key);
91
99void *map_delete2(struct map *map, const void *key, size_t keylen);
100
102void map_iter(struct map *map, struct map_it *it);
103
109struct map_entry *map_iter_next(struct map_it *it);
110
111
112#endif
void map_destroy(struct map *map)
map tarafından ayrılmış belleği temizler.
void map_init(struct map *map, size_t value_size)
Yeni bir map oluşturur.
void map_insert2(struct map *map, const void *key, size_t keylen, const void *value)
map'e key-value ikilisini ekler.
void map_iter(struct map *map, struct map_it *it)
map'teki entryleri tek tek çekecek iteration handle hazırlar.
void * map_delete2(struct map *map, const void *key, size_t keylen)
Key-value ikilisini map'ten siler, valueyu döner.
struct map_entry * map_iter_next(struct map_it *it)
Iteration handledan sıradaki entryyi çeker.
void * map_get2(struct map *map, const void *key, size_t keylen)
Key ile eşleşen valueyı döner, key bulunamazsa NULL döner.
void map_insert(struct map *map, const void *key, const void *value)
map'e key-value ikilisini ekler.
void * map_get(struct map *map, const void *key)
Key ile eşleşen valueyı döner, key bulunamazsa NULL döner.
void * map_delete(struct map *map, const void *key)
Key-value ikilisini map'ten siler, valueyu döner.
map'te tutulan key-value ikilisi, entry.
Definition map.h:36
size_t keylen
Definition map.h:38
char value[]
Definition map.h:39
void * key
Definition map.h:37
map entrylerini tek tek çekebilmek için iteration handle.
Definition map.h:28
map.
Definition map.h:18