Kohi Game Engine
|
This files contains an implementation of a static-sized (but dynamically allocated) array. More...
#include "defines.h"
Go to the source code of this file.
Data Structures | |
struct | array_base |
struct | array_iterator |
Macros | |
#define | ARRAY_TYPE_NAMED(type, name) |
#define | ARRAY_TYPE(type) ARRAY_TYPE_NAMED(type, type) |
Create an array type of the given type. For advanced types or pointers, use ARRAY_TYPE_NAMED directly. More... | |
Typedefs | |
typedef struct array_base | array_base |
typedef struct array_iterator | array_iterator |
Functions | |
KAPI void | _karray_init (u32 length, u32 stride, u32 *out_length, u32 *out_stride, void **block) |
KAPI void | _karray_free (u32 *length, u32 *stride, void **block) |
KAPI array_iterator | array_iterator_begin (const array_base *arr) |
KAPI array_iterator | array_iterator_rbegin (const array_base *arr) |
KAPI b8 | array_iterator_end (const array_iterator *it) |
KAPI void * | array_iterator_value (const array_iterator *it) |
KAPI void | array_iterator_next (array_iterator *it) |
KAPI void | array_iterator_prev (array_iterator *it) |
ARRAY_TYPE (b8) | |
ARRAY_TYPE (u8) | |
ARRAY_TYPE (u16) | |
ARRAY_TYPE (u32) | |
ARRAY_TYPE (u64) | |
ARRAY_TYPE (i8) | |
ARRAY_TYPE (i16) | |
ARRAY_TYPE (i32) | |
ARRAY_TYPE (i64) | |
ARRAY_TYPE (f32) | |
ARRAY_TYPE (f64) | |
ARRAY_TYPE_NAMED (const char *, string) | |
This files contains an implementation of a static-sized (but dynamically allocated) array.
Create an array type for a simple type using: ARRAY_TYPE(f64)
. Create an array type for "advanced" types, such as strings, like this: ARRAY_TYPE_NAMED(const char*, string)
Both of these types already exist (see the bottom of this file) but others may be easily created this way.
#define ARRAY_TYPE | ( | type | ) | ARRAY_TYPE_NAMED(type, type) |
Create an array type of the given type. For advanced types or pointers, use ARRAY_TYPE_NAMED directly.
#define ARRAY_TYPE_NAMED | ( | type, | |
name | |||
) |
typedef struct array_base array_base |
typedef struct array_iterator array_iterator |
KAPI void _karray_init | ( | u32 | length, |
u32 | stride, | ||
u32 * | out_length, | ||
u32 * | out_stride, | ||
void ** | block | ||
) |
KAPI array_iterator array_iterator_begin | ( | const array_base * | arr | ) |
KAPI b8 array_iterator_end | ( | const array_iterator * | it | ) |
KAPI void array_iterator_next | ( | array_iterator * | it | ) |
KAPI void array_iterator_prev | ( | array_iterator * | it | ) |
KAPI array_iterator array_iterator_rbegin | ( | const array_base * | arr | ) |
KAPI void* array_iterator_value | ( | const array_iterator * | it | ) |
ARRAY_TYPE | ( | b8 | ) |
ARRAY_TYPE | ( | f32 | ) |
ARRAY_TYPE | ( | f64 | ) |
ARRAY_TYPE | ( | i16 | ) |
ARRAY_TYPE | ( | i32 | ) |
ARRAY_TYPE | ( | i64 | ) |
ARRAY_TYPE | ( | i8 | ) |
ARRAY_TYPE | ( | u16 | ) |
ARRAY_TYPE | ( | u32 | ) |
ARRAY_TYPE | ( | u64 | ) |
ARRAY_TYPE | ( | u8 | ) |
ARRAY_TYPE_NAMED | ( | const char * | , |
string | |||
) |