Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | BLI_Buffer |
Macros | |
#define | BLI_buffer_declare_static(type_, name_, flag_, static_count_) |
#define | BLI_buffer_declare(type_, name_, flag_) |
#define | BLI_buffer_at(buffer_, type_, index_) |
#define | BLI_buffer_array(buffer_, type_) (&(BLI_buffer_at(buffer_, type_, 0))) |
#define | BLI_buffer_resize_data(buffer_, type_, new_count_) ((BLI_buffer_resize(buffer_, new_count_), new_count_ ? BLI_buffer_array(buffer_, type_) : NULL)) |
#define | BLI_buffer_reinit_data(buffer_, type_, new_count_) ((BLI_buffer_reinit(buffer_, new_count_), new_count_ ? BLI_buffer_array(buffer_, type_) : NULL)) |
#define | BLI_buffer_append(buffer_, type_, val_) |
#define | BLI_buffer_clear(buffer_) |
#define | BLI_buffer_append_array(buffer_, type_, data_, count_) |
#define | BLI_buffer_free(name_) |
#define | BLI_buffer_field_init(name_, type_) |
#define | BLI_buffer_field_free(name_) _bli_buffer_free(name_) |
Typedefs | |
typedef struct BLI_Buffer | BLI_Buffer |
Enumerations | |
enum | { BLI_BUFFER_NOP = 0 , BLI_BUFFER_USE_STATIC = (1 << 0) } |
Functions | |
void | BLI_buffer_resize (BLI_Buffer *buffer, size_t new_count) |
void | BLI_buffer_reinit (BLI_Buffer *buffer, size_t new_count) |
void | _bli_buffer_append_array (BLI_Buffer *buffer, void *data, size_t count) |
void | _bli_buffer_free (BLI_Buffer *buffer) |
#define BLI_buffer_append | ( | buffer_, | |
type_, | |||
val_ | |||
) |
Definition at line 50 of file BLI_buffer.h.
Definition at line 80 of file BLI_buffer.h.
#define BLI_buffer_array | ( | buffer_, | |
type_ | |||
) | (&(BLI_buffer_at(buffer_, type_, 0))) |
Definition at line 42 of file BLI_buffer.h.
#define BLI_buffer_at | ( | buffer_, | |
type_, | |||
index_ | |||
) |
Definition at line 36 of file BLI_buffer.h.
#define BLI_buffer_clear | ( | buffer_ | ) |
Definition at line 54 of file BLI_buffer.h.
#define BLI_buffer_declare | ( | type_, | |
name_, | |||
flag_ | |||
) |
Definition at line 32 of file BLI_buffer.h.
#define BLI_buffer_declare_static | ( | type_, | |
name_, | |||
flag_, | |||
static_count_ | |||
) |
Definition at line 25 of file BLI_buffer.h.
#define BLI_buffer_field_free | ( | name_ | ) | _bli_buffer_free(name_) |
Definition at line 111 of file BLI_buffer.h.
#define BLI_buffer_field_init | ( | name_, | |
type_ | |||
) |
A buffer embedded in a struct. Using #memcpy is allowed until first resize.
Definition at line 104 of file BLI_buffer.h.
#define BLI_buffer_free | ( | name_ | ) |
Definition at line 94 of file BLI_buffer.h.
#define BLI_buffer_reinit_data | ( | buffer_, | |
type_, | |||
new_count_ | |||
) | ((BLI_buffer_reinit(buffer_, new_count_), new_count_ ? BLI_buffer_array(buffer_, type_) : NULL)) |
Definition at line 47 of file BLI_buffer.h.
#define BLI_buffer_resize_data | ( | buffer_, | |
type_, | |||
new_count_ | |||
) | ((BLI_buffer_resize(buffer_, new_count_), new_count_ ? BLI_buffer_array(buffer_, type_) : NULL)) |
Definition at line 44 of file BLI_buffer.h.
typedef struct BLI_Buffer BLI_Buffer |
anonymous enum |
Enumerator | |
---|---|
BLI_BUFFER_NOP | |
BLI_BUFFER_USE_STATIC |
Definition at line 20 of file BLI_buffer.h.
void _bli_buffer_append_array | ( | BLI_Buffer * | buffer, |
void * | data, | ||
size_t | count | ||
) |
Append an array of elements.
Callers use BLI_buffer_append_array.
Definition at line 98 of file buffer.c.
References BLI_buffer_resize(), buffer, count, and size().
void _bli_buffer_free | ( | BLI_Buffer * | buffer | ) |
Does not free the buffer structure itself.
Callers use BLI_buffer_free.
Definition at line 107 of file buffer.c.
References BLI_BUFFER_USE_STATIC, buffer, and MEM_freeN.
void BLI_buffer_reinit | ( | BLI_Buffer * | buffer, |
size_t | new_count | ||
) |
Ensure size, throwing away old data, respecting #BLI_BUFFER_USE_CALLOC.
Similar to BLI_buffer_resize, but use when the existing data can be:
Definition at line 75 of file buffer.c.
References BLI_BUFFER_USE_STATIC, buffer, buffer_alloc(), MEM_freeN, and UNLIKELY.
Referenced by pbvh_bmesh_edge_loops().
void BLI_buffer_resize | ( | BLI_Buffer * | buffer, |
size_t | new_count | ||
) |
Definition at line 49 of file buffer.c.
References BLI_BUFFER_USE_STATIC, buffer, buffer_alloc(), buffer_realloc(), and UNLIKELY.
Referenced by _bli_buffer_append_array().