configure.ac: Add checks for Flex/Yacc/Bison and other furry animals, for the new...
[platform/upstream/gst-plugins-good.git] / gst / goom / goomsl_heap.h
1 #ifndef GOOMSL_HEAP
2 #define GOOMSL_HEAP
3
4 /**
5  * Resizable Array that guarranty that resizes don't change address of
6  * the stored datas.
7  *
8  * This is implemented as an array of arrays... granularity is the size
9  * of each arrays.
10  */
11
12 typedef struct _GOOM_HEAP GoomHeap;
13
14 /* Constructors / Destructor */
15 GoomHeap *goom_heap_new(void);
16 GoomHeap *goom_heap_new_with_granularity(int granularity);
17 void      goom_heap_delete(GoomHeap *_this);
18
19 /* This method behaves like malloc. */
20 void     *goom_heap_malloc(GoomHeap *_this, int nb_bytes);
21 /* This adds an alignment constraint. */
22 void     *goom_heap_malloc_with_alignment(GoomHeap *_this, int nb_bytes, int alignment);
23
24 /* Returns a pointeur on the bytes... prefix is before */
25 void     *goom_heap_malloc_with_alignment_prefixed(GoomHeap *_this, int nb_bytes,
26                                                    int alignment, int prefix_bytes);
27
28 #endif
29