Files
armorpaint/base/sources/iron_map.h
T
luboslenco 47bc985b42 Cleanup
2025-02-26 08:47:09 +01:00

54 lines
1.2 KiB
C

#pragma once
#include <stdint.h>
#include "iron_array.h"
typedef struct i32_map {
char_ptr_array_t *keys;
i32_array_t *values;
} i32_map_t;
typedef struct f32_map {
char_ptr_array_t *keys;
f32_array_t *values;
} f32_map_t;
typedef struct any_map {
char_ptr_array_t *keys;
any_array_t *values;
} any_map_t;
void i32_map_set(i32_map_t *m, char *k, int v);
void f32_map_set(f32_map_t *m, char *k, float v);
void any_map_set(any_map_t *m, char *k, void *v);
int32_t i32_map_get(i32_map_t *m, char *k);
float f32_map_get(f32_map_t *m, char *k);
void *any_map_get(any_map_t *m, char *k);
void map_delete(any_map_t *m, char *k);
any_array_t *map_keys(any_map_t *m);
i32_map_t *i32_map_create();
any_map_t *any_map_create();
// imap
typedef struct i32_imap {
i32_array_t *keys;
i32_array_t *values;
} i32_imap_t;
typedef struct any_imap {
i32_array_t *keys;
any_array_t *values;
} any_imap_t;
void i32_imap_set(i32_imap_t *m, int k, int v);
void any_imap_set(any_imap_t *m, int k, void *v);
int i32_imap_get(i32_imap_t *m, int k);
void *any_imap_get(any_imap_t *m, int k);
void imap_delete(any_imap_t *m, int k);
i32_array_t *imap_keys(any_imap_t *m);
any_imap_t *any_imap_create();