maug
Quick and dirty C mini-augmentation library.
Loading...
Searching...
No Matches
mdata.h File Reference

Go to the source code of this file.

Data Structures

struct  MDATA_STRPOOL
 A pool of immutable text strings. Deduplicates strings to save memory. More...
 
struct  MDATA_VECTOR
 A vector of uniformly-sized objects, stored contiguously. More...
 
struct  MDATA_TABLE
 

Macros

#define MDATA_TRACE_LVL   0
 
#define mdata_strpool_sz(strpool)
 
#define mdata_strpool_lock(strpool, ptr)
 
#define mdata_strpool_unlock(strpool, ptr)
 
#define mdata_vector_get(v, idx, type)
 
#define mdata_vector_get_last(v, type)
 
#define mdata_vector_remove_last(v)
 
#define mdata_vector_is_locked(v)
 
#define mdata_vector_insert_sort(v, i, t, field)
 
#define mdata_vector_sort(v, t, field)
 
#define _mdata_vector_item_ptr(v, idx)
 
#define mdata_vector_set_flag(v, flag)
 
#define mdata_vector_get_flag(v, flag)
 
#define mdata_retval(idx)
 

Typedefs

typedef ssize_t mdata_strpool_idx_t
 

Functions

ssize_t mdata_strpool_find (struct MDATA_STRPOOL *strpool, const char *str, size_t str_sz)
 
MAUG_MHANDLE mdata_strpool_extract (struct MDATA_STRPOOL *s, size_t i)
 
ssize_t mdata_strpool_append (struct MDATA_STRPOOL *strpool, const char *str, size_t str_sz)
 
MERROR_RETVAL mdata_strpool_alloc (struct MDATA_STRPOOL *strpool, size_t alloc_sz)
 
void mdata_strpool_free (struct MDATA_STRPOOL *strpool)
 
MERROR_RETVAL mdata_vector_copy (struct MDATA_VECTOR *v_dest, struct MDATA_VECTOR *v_src)
 
MERROR_RETVAL mdata_vector_alloc (struct MDATA_VECTOR *v, size_t item_sz, size_t item_ct_init)
 
void mdata_vector_free (struct MDATA_VECTOR *v)
 
MERROR_RETVAL mdata_table_set (struct MDATA_TABLE *t, const char *key, size_t key_sz, void *value, size_t value_sz)
 
MERROR_RETVAL mdata_table_get_void (struct MDATA_TABLE *t, const char *key, void **value_out, size_t value_sz)