FreeBASIC  0.91.0
fb_array.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _FBARRAYDIM
 
struct  _FBARRAY
 
struct  _FB_ARRAY_TMPDESC
 

Macros

#define FB_ARRAY_SETDESC(_array, _elen, _dims, _size, _diff)
 

Typedefs

typedef struct _FBARRAYDIM FBARRAYDIM
 
typedef struct _FBARRAY FBARRAY
 
typedef struct _FB_ARRAY_TMPDESC FB_ARRAY_TMPDESC
 
typedef void(* FB_DEFCTOR )(const void *this_)
 
typedef void(* FB_DTORMULT )(FBARRAY *array, FB_DEFCTOR dtor, size_t base_idx)
 

Functions

FBCALL void * fb_ArrayBoundChk (ssize_t idx, ssize_t lbound, ssize_t ubound, int linenum, const char *fname)
 
FBCALL void * fb_ArraySngBoundChk (size_t idx, size_t ubound, int linenum, const char *fname)
 
void fb_hArrayCtorObj (FBARRAY *array, FB_DEFCTOR ctor, size_t base_idx)
 
void fb_hArrayDtorObj (FBARRAY *array, FB_DEFCTOR dtor, size_t base_idx)
 
void fb_hArrayDtorStr (FBARRAY *array, FB_DEFCTOR dtor, size_t base_idx)
 
FBCALL void fb_ArrayDestructObj (FBARRAY *array, FB_DEFCTOR dtor)
 
FBCALL void fb_ArrayDestructStr (FBARRAY *array)
 
FBCALL int fb_ArrayClear (FBARRAY *array, int isvarlen)
 
FBCALL int fb_ArrayClearObj (FBARRAY *array, FB_DEFCTOR ctor, FB_DEFCTOR dtor, int dofill)
 
FBCALL int fb_ArrayErase (FBARRAY *array, int isvarlen)
 
FBCALL int fb_ArrayEraseObj (FBARRAY *array, FB_DEFCTOR dtor)
 
FBCALL void fb_ArrayStrErase (FBARRAY *array)
 
int fb_ArrayRedim (FBARRAY *array, size_t element_len, int preserve, size_t dimensions,...)
 
int fb_ArrayRedimEx (FBARRAY *array, size_t element_len, int doclear, int isvarlen, size_t dimensions,...)
 
int fb_ArrayRedimObj (FBARRAY *array, size_t element_len, FB_DEFCTOR ctor, FB_DEFCTOR dtor, size_t dimensions,...)
 
int fb_ArrayRedimPresv (FBARRAY *array, size_t element_len, int preserve, size_t dimensions,...)
 
int fb_ArrayRedimPresvEx (FBARRAY *array, size_t element_len, int doclear, int isvarlen, size_t dimensions,...)
 
int fb_ArrayRedimPresvObj (FBARRAY *array, size_t element_len, FB_DEFCTOR ctor, FB_DEFCTOR dtor, size_t dimensions,...)
 
FBCALL void fb_ArrayResetDesc (FBARRAY *array)
 
FBCALL ssize_t fb_ArrayLBound (FBARRAY *array, ssize_t dimension)
 
FBCALL ssize_t fb_ArrayUBound (FBARRAY *array, ssize_t dimension)
 
size_t fb_hArrayCalcElements (size_t dimensions, const ssize_t *lboundTB, const ssize_t *uboundTB)
 
ssize_t fb_hArrayCalcDiff (size_t dimensions, const ssize_t *lboundTB, const ssize_t *uboundTB)
 
int fb_hArrayAlloc (FBARRAY *array, size_t element_len, int doclear, FB_DEFCTOR ctor, size_t dimensions, va_list ap)
 
int fb_hArrayRealloc (FBARRAY *array, size_t element_len, int doclear, FB_DEFCTOR ctor, FB_DTORMULT dtor_mult, FB_DEFCTOR dtor, size_t dimensions, va_list ap)
 

Macro Definition Documentation

#define FB_ARRAY_SETDESC (   _array,
  _elen,
  _dims,
  _size,
  _diff 
)
Value:
do { \
_array->element_len = _elen; \
_array->dimensions = _dims; \
_array->size = _size; \
if( _array->ptr != NULL ) \
_array->data = ((unsigned char*) _array->ptr) + (_diff); \
else \
_array->data = NULL; \
} while (0)

Definition at line 29 of file fb_array.h.

Typedef Documentation

!!REMOVEME!!!

typedef void(* FB_DEFCTOR)(const void *this_)

!!REMOVEME!!!

Definition at line 25 of file fb_array.h.

typedef void(* FB_DTORMULT)(FBARRAY *array, FB_DEFCTOR dtor, size_t base_idx)

Definition at line 26 of file fb_array.h.

typedef struct _FBARRAY FBARRAY
typedef struct _FBARRAYDIM FBARRAYDIM

Function Documentation

FBCALL void* fb_ArrayBoundChk ( ssize_t  idx,
ssize_t  lbound,
ssize_t  ubound,
int  linenum,
const char *  fname 
)

Definition at line 12 of file array_boundchk.c.

Here is the call graph for this function:

FBCALL int fb_ArrayClear ( FBARRAY array,
int  isvarlen 
)

Definition at line 6 of file array_clear.c.

Here is the call graph for this function:

Here is the caller graph for this function:

FBCALL int fb_ArrayClearObj ( FBARRAY array,
FB_DEFCTOR  ctor,
FB_DEFCTOR  dtor,
int  dofill 
)

Definition at line 34 of file array_clearobj.c.

Here is the call graph for this function:

FBCALL void fb_ArrayDestructObj ( FBARRAY array,
FB_DEFCTOR  dtor 
)

Definition at line 33 of file array_destructobj.c.

Here is the call graph for this function:

Here is the caller graph for this function:

FBCALL void fb_ArrayDestructStr ( FBARRAY array)

Definition at line 32 of file array_destructstr.c.

Here is the call graph for this function:

Here is the caller graph for this function:

FBCALL int fb_ArrayErase ( FBARRAY array,
int  isvarlen 
)

Definition at line 5 of file array_erase.c.

Here is the call graph for this function:

Here is the caller graph for this function:

FBCALL int fb_ArrayEraseObj ( FBARRAY array,
FB_DEFCTOR  dtor 
)

Definition at line 5 of file array_eraseobj.c.

Here is the call graph for this function:

FBCALL ssize_t fb_ArrayLBound ( FBARRAY array,
ssize_t  dimension 
)

Definition at line 5 of file array_lbound.c.

int fb_ArrayRedim ( FBARRAY array,
size_t  element_len,
int  preserve,
size_t  dimensions,
  ... 
)

Definition at line 109 of file array_redim.c.

Here is the call graph for this function:

int fb_ArrayRedimEx ( FBARRAY array,
size_t  element_len,
int  doclear,
int  isvarlen,
size_t  dimensions,
  ... 
)

Definition at line 89 of file array_redim.c.

Here is the call graph for this function:

int fb_ArrayRedimObj ( FBARRAY array,
size_t  element_len,
FB_DEFCTOR  ctor,
FB_DEFCTOR  dtor,
size_t  dimensions,
  ... 
)

Definition at line 6 of file array_redim_obj.c.

Here is the call graph for this function:

int fb_ArrayRedimPresv ( FBARRAY array,
size_t  element_len,
int  preserve,
size_t  dimensions,
  ... 
)

Definition at line 137 of file array_redimpresv.c.

Here is the call graph for this function:

int fb_ArrayRedimPresvEx ( FBARRAY array,
size_t  element_len,
int  doclear,
int  isvarlen,
size_t  dimensions,
  ... 
)

Definition at line 117 of file array_redimpresv.c.

Here is the call graph for this function:

int fb_ArrayRedimPresvObj ( FBARRAY array,
size_t  element_len,
FB_DEFCTOR  ctor,
FB_DEFCTOR  dtor,
size_t  dimensions,
  ... 
)

Definition at line 6 of file array_redimpresv_obj.c.

Here is the call graph for this function:

FBCALL void fb_ArrayResetDesc ( FBARRAY array)

!!REMOVEME!!!

Definition at line 6 of file array_resetdesc.c.

Here is the caller graph for this function:

FBCALL void* fb_ArraySngBoundChk ( size_t  idx,
size_t  ubound,
int  linenum,
const char *  fname 
)

Definition at line 27 of file array_boundchk.c.

Here is the call graph for this function:

FBCALL void fb_ArrayStrErase ( FBARRAY array)

Definition at line 5 of file array_erasestr.c.

Here is the call graph for this function:

FBCALL ssize_t fb_ArrayUBound ( FBARRAY array,
ssize_t  dimension 
)

Definition at line 5 of file array_ubound.c.

int fb_hArrayAlloc ( FBARRAY array,
size_t  element_len,
int  doclear,
FB_DEFCTOR  ctor,
size_t  dimensions,
va_list  ap 
)

Definition at line 6 of file array_redim.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ssize_t fb_hArrayCalcDiff ( size_t  dimensions,
const ssize_t *  lboundTB,
const ssize_t *  uboundTB 
)

Definition at line 22 of file array_core.c.

Here is the caller graph for this function:

size_t fb_hArrayCalcElements ( size_t  dimensions,
const ssize_t *  lboundTB,
const ssize_t *  uboundTB 
)

Definition at line 6 of file array_core.c.

Here is the caller graph for this function:

void fb_hArrayCtorObj ( FBARRAY array,
FB_DEFCTOR  ctor,
size_t  base_idx 
)

Definition at line 5 of file array_clearobj.c.

Here is the caller graph for this function:

void fb_hArrayDtorObj ( FBARRAY array,
FB_DEFCTOR  dtor,
size_t  base_idx 
)

Definition at line 5 of file array_destructobj.c.

Here is the caller graph for this function:

void fb_hArrayDtorStr ( FBARRAY array,
FB_DEFCTOR  dtor,
size_t  base_idx 
)

Definition at line 5 of file array_destructstr.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int fb_hArrayRealloc ( FBARRAY array,
size_t  element_len,
int  doclear,
FB_DEFCTOR  ctor,
FB_DTORMULT  dtor_mult,
FB_DEFCTOR  dtor,
size_t  dimensions,
va_list  ap 
)

Definition at line 6 of file array_redimpresv.c.

Here is the call graph for this function:

Here is the caller graph for this function: