src/array/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  array_t

Defines

#define ARRAY_OUT_OF_MEM   -10000
#define array_alloc(type, number)   array_do_alloc(sizeof(type), number)
#define array_insert(type, a, i, datum)
#define array_insert_last(type, array, datum)   array_insert(type, array, (array)->num, datum)
#define array_remove_last(a)
#define array_fetch(type, a, i)
#define array_fetch_p(type, a, i)
#define array_fetch_last(type, array)   array_fetch(type, array, ((array)->num)-1)
#define array_n(array)   (array)->num
#define array_data(type, array)   (type *) array_do_data(array)
#define arrayForEachItem(type,array, i,data)

Functions

EXTERN array_t *array_do_alloc ARGS ((int, int))
EXTERN array_t *array_dup ARGS ((array_t *))
EXTERN array_t *array_join ARGS ((array_t *, array_t *))
EXTERN void array_sort ARGS ((array_t *, int(*)(const void *, const void *)))
EXTERN void array_uniq ARGS ((array_t *, int(*)(char **, char **), void(*)(char *)))
EXTERN int array_abort ARGS ((array_t *, int))

Variables

int unsigned array_global_index
int array_global_insert

Define Documentation

#define array_alloc ( type,
number   )     array_do_alloc(sizeof(type), number)

Definition at line 40 of file array.h.

#define array_data ( type,
array   )     (type *) array_do_data(array)

Definition at line 82 of file array.h.

#define array_fetch ( type,
a,
 ) 
Value:
(array_global_index = (i),                              \
      (array_global_index >= (unsigned) ((a)->num)) ? array_abort((a),1) : 0,\
      *((type *) ((a)->space + array_global_index * (a)->obj_size)))

Definition at line 66 of file array.h.

#define array_fetch_last ( type,
array   )     array_fetch(type, array, ((array)->num)-1)

Definition at line 76 of file array.h.

#define array_fetch_p ( type,
a,
 ) 
Value:
(array_global_index = (i),                             \
      (array_global_index >= (unsigned) ((a)->num)) ? array_abort((a),1) : 0,\
      ((type *) ((a)->space + array_global_index * (a)->obj_size)))

Definition at line 71 of file array.h.

#define array_insert ( type,
a,
i,
datum   ) 
Value:
(  -(a)->index != sizeof(type) ? array_abort((a),4) : 0,\
        (a)->index = (i),\
        (a)->index < 0 ? array_abort((a),0) : 0,\
        (a)->index >= (a)->n_size ?\
        array_global_insert = array_resize(a, (a)->index + 1) : 0,\
        array_global_insert != ARRAY_OUT_OF_MEM ?\
        *((type *) ((a)->space + (a)->index * (a)->obj_size)) = datum : datum,\
        array_global_insert != ARRAY_OUT_OF_MEM ?\
        ((a)->index >= (a)->num ? (a)->num = (a)->index + 1 : 0) : 0,\
        array_global_insert != ARRAY_OUT_OF_MEM ?\
        ((a)->index = -(int)sizeof(type)) : ARRAY_OUT_OF_MEM )

Definition at line 43 of file array.h.

#define array_insert_last ( type,
array,
datum   )     array_insert(type, array, (array)->num, datum)

Definition at line 56 of file array.h.

#define array_n ( array   )     (array)->num

Definition at line 79 of file array.h.

#define ARRAY_OUT_OF_MEM   -10000

Definition at line 9 of file array.h.

#define array_remove_last (  ) 
Value:
(  -(a)->index != (a)->obj_size ? array_abort((a),4) : 0,\
       (a)->index = -(a)->index,\
       (a)->num ? (a)->num-- : array_abort((a),5),\
       (a)->index = -(a)->index )

Definition at line 60 of file array.h.

#define arrayForEachItem ( type,
array,
i,
data   ) 
Value:
for((i) = 0;                                                 \
      (((i) < array_n((array)))                                \
       && (((data) = array_fetch(type, (array), (i))), 1));    \
      (i)++)

Definition at line 90 of file array.h.


Function Documentation

EXTERN int array_resize ARGS ( (array_t *, int)   ) 
EXTERN void array_uniq ARGS ( (array_t *, int(*)(char **, char **), void(*)(char *))   ) 
EXTERN void array_sort ARGS ( (array_t *, int(*)(const void *, const void *))   ) 
EXTERN int array_append ARGS ( (array_t *, array_t *)   ) 
EXTERN long bdd_size_multiple ARGS ( (array_t *)   ) 
EXTERN array_t* array_do_alloc ARGS ( (int, int)   ) 

Variable Documentation

int unsigned array_global_index

Definition at line 13 of file array.c.

Definition at line 14 of file array.c.


Generated on Tue Jan 12 13:57:08 2010 for glu-2.2 by  doxygen 1.6.1