allocate.h File Reference
Convenient macros and functions for allocating objects, arrays or 2D arrays.
More...
#include <stdlib.h>
#include <glib.h>
Go to the source code of this file.
|
Defines |
#define | NEW_INSTANCE(type) g_new(type,1) |
| Allocate a new instance for type type .
|
#define | NEW_ARRAY_INSTANCE(element_count, element_type) g_new(element_type,element_count) |
| Allocate a new instance array for type type .
|
#define | NEW_ARRAY2D_INSTANCE(row_size, col_size, element_type) (element_type**) array2D_new(row_size,col_size,sizeof(element_type),sizeof(element_type*)); |
| Allocate a new two dimension array.
|
Functions |
void ** | array2D_new (size_t row_size, size_t col_size, size_t element_size, size_t pointer_size) |
| Allocate a new two dimension array.
|
void | array2D_free (void **arrayPtr) |
| Free the 2D array create by NEW_ARRAY2D_INSTANCE().
|
Detailed Description
This header file lists the macros and functions for allocating instance, 1-D and 2-D instance array of given type.
Define Documentation
#define NEW_ARRAY2D_INSTANCE |
( |
row_size, |
|
|
col_size, |
|
|
element_type |
|
) |
(element_type**) array2D_new(row_size,col_size,sizeof(element_type),sizeof(element_type*)); |
- Parameters:
-
| row_size | Number of row. |
| col_size | Number of column. |
| element_type | Element type to be allocated. |
- Returns:
- A two dimension array of element type.
#define NEW_ARRAY_INSTANCE |
( |
element_count, |
|
|
element_type |
|
) |
g_new(element_type,element_count) |
- Parameters:
-
| element_count | Number of element to be required. |
| element_type | Element type to be allocated. |
- Returns:
- A newly allocated array of element type.
#define NEW_INSTANCE |
( |
type |
|
) |
g_new(type,1) |
- Parameters:
-
| type | Element type to be allocated. |
- Returns:
- A newly allocated space for type
type
.
Function Documentation
void array2D_free |
( |
void ** |
arrayPtr |
) |
|
- Parameters:
-
| arrayPtr | the 2D array to be freed. |
void** array2D_new |
( |
size_t |
row_size, |
|
|
size_t |
col_size, |
|
|
size_t |
element_size, |
|
|
size_t |
pointer_size | |
|
) |
| | |
Note that NEW_ARRAY2D_INSTANCE() is a more convenient wrapper macro of this function, so call that macro instead.
- Parameters:
-
| row_size | Number of row. |
| col_size | Number of column. |
| element_size | Size of one element. |
| pointer_size | Size of element pointer. |
- Returns:
- A two dimension array of element type.
- See also:
- NEW_ARRAY2D_INSTANCE()