added useful macros to ase_str_t and ase_map_t

This commit is contained in:
2008-09-25 02:16:41 +00:00
parent dfc1e83f7c
commit 327fd11974
5 changed files with 36 additions and 21 deletions

View File

@ -1,5 +1,5 @@
/*
* $Id: map.h 376 2008-09-24 07:18:50Z baconevi $
* $Id: map.h 380 2008-09-24 08:16:41Z baconevi $
*
* {License}
*/
@ -115,6 +115,17 @@ enum ase_map_walk_t
#define ASE_MAP_SIZE(m) ((m)->size)
#define ASE_MAP_CAPA(m) ((m)->capa)
#define ASE_MAP_MMGR(m) ((m)->mmgr)
#define ASE_MAP_KCOPIER(m) ((m)->copier[ASE_MAP_KEY])
#define ASE_MAP_VCOPIER(m) ((m)->copier[ASE_MAP_VAL])
#define ASE_MAP_KFREEER(m) ((m)->freeer[ASE_MAP_KEY])
#define ASE_MAP_VFREEER(m) ((m)->freeer[ASE_MAP_VAL])
#define ASE_MAP_HASHER(m) ((m)->hasher)
#define ASE_MAP_COMPER(m) ((m)->comper)
#define ASE_MAP_KEEPER(m) ((m)->keeper)
#define ASE_MAP_SIZER(m) ((m)->sizer)
#define ASE_MAP_EXTENSION(m) ((void*)(((ase_map_t*)m) + 1))
#define ASE_MAP_KPTR(p) ((p)->kptr)
#define ASE_MAP_KLEN(p) ((p)->klen)
#define ASE_MAP_VPTR(p) ((p)->vptr)

View File

@ -1,5 +1,5 @@
/*
* $Id: str.h 379 2008-09-24 08:06:56Z baconevi $
* $Id: str.h 380 2008-09-24 08:16:41Z baconevi $
*
* {License}
*/
@ -10,10 +10,14 @@
#include <ase/types.h>
#include <ase/macros.h>
#define ASE_STR_LEN(x) ((x)->len)
#define ASE_STR_PTR(x) ((x)->ptr)
#define ASE_STR_CAPA(x) ((x)->capa)
#define ASE_STR_CHAR(x,idx) ((x)->ptr[idx])
#define ASE_STR_LEN(s) ((s)->len)
#define ASE_STR_PTR(s) ((s)->ptr)
#define ASE_STR_CAPA(s) ((s)->capa)
#define ASE_STR_CHAR(s,idx) ((s)->ptr[idx])
#define ASE_STR_MMGR(s) ((s)->mmgr)
#define ASE_STR_SIZER(s) ((s)->sizer)
#define ASE_STR_EXTENSION(s) ((void*)(((ase_str_t*)s) + 1))
typedef struct ase_str_t ase_str_t;
typedef ase_size_t (*ase_str_sizer_t) (ase_str_t* data, ase_size_t hint);