maug
Quick and dirty C mini-augmentation library.
Loading...
Searching...
No Matches
Data Memory String Pools

Structure for storing a compact group of mutable, variable-length character strings. More...

Collaboration diagram for Data Memory String Pools:

Data Structures

struct  MDATA_STRPOOL
 A pool of immutable text strings. Deduplicates strings to save memory. More...
 

Macros

#define mdata_strpool_sz(strpool)
 
#define mdata_strpool_lock(strpool, ptr)
 
#define mdata_strpool_unlock(strpool, ptr)
 

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)
 

Detailed Description

Structure for storing a compact group of mutable, variable-length character strings.

Macro Definition Documentation

◆ mdata_strpool_lock

#define mdata_strpool_lock ( strpool,
ptr )
Value:
maug_mlock( (strpool)->str_h, ptr ); \
maug_cleanup_if_null_lock( char*, ptr );

◆ mdata_strpool_sz

#define mdata_strpool_sz ( strpool)
Value:
((strpool)->str_sz_max)

◆ mdata_strpool_unlock

#define mdata_strpool_unlock ( strpool,
ptr )
Value:
if( NULL != ptr ) { \
maug_munlock( (strpool)->str_h, ptr ); \
}