maug
Quick and dirty C mini-augmentation library.
Data Structures | Macros | Typedefs | Functions
Data Memory Tables
Collaboration diagram for Data Memory Tables:

Data Structures

struct  MDATA_TABLE_KEY
 
struct  MDATA_TABLE
 

Macros

#define mdata_table_is_locked(t)    (mdata_vector_is_locked( &((t)->data_cols[0]) ))
 
#define mdata_table_get(t, key, type)    ((type*)mdata_table_get_void( t, key ))
 
#define mdata_table_hash_get(t, hash, sz, type)    ((type*)mdata_table_hash_get_void( t, hash, sz ))
 
#define mdata_table_ct(t)   ((t)->data_cols[0].ct)
 
#define mdata_table_sz(t)
 

Typedefs

typedef MERROR_RETVAL(* mdata_table_iter_t) (const struct MDATA_TABLE_KEY *key, void *data, size_t data_sz, void *cb_data, size_t cb_data_sz, size_t idx)
 

Functions

MERROR_RETVAL mdata_table_lock (struct MDATA_TABLE *t)
 
MERROR_RETVAL mdata_table_unlock (struct MDATA_TABLE *t)
 
MERROR_RETVAL mdata_table_iter (struct MDATA_TABLE *t, mdata_table_iter_t cb, void *cb_data, size_t cb_data_sz)
 
MERROR_RETVAL mdata_table_set (struct MDATA_TABLE *t, const char *key, void *value, size_t value_sz)
 
MERROR_RETVAL mdata_table_unset (struct MDATA_TABLE *t, const char *key)
 
void * mdata_table_get_void (const struct MDATA_TABLE *t, const char *key)
 
void * mdata_table_hash_get_void (struct MDATA_TABLE *t, uint32_t key_hash, size_t key_sz)
 
void mdata_table_free (struct MDATA_TABLE *t)
 

Detailed Description

Macro Definition Documentation

◆ mdata_table_sz

#define mdata_table_sz (   t)
Value:
mdata_vector_sz( &((t)->data_cols[0]) ) + \
mdata_vector_sz( &((t)->data_cols[1]) )
#define mdata_vector_sz(v)
Number of bytes of heap memory occupied by this vector.
Definition: mdata.h:402