|
Blender V4.3
|
#include <BLI_index_mask.hh>
Inherits blender::LinearAllocator< Allocator >.
Public Member Functions | |
| IndexMaskMemory () | |
Public Member Functions inherited from blender::LinearAllocator< Allocator > | |
| LinearAllocator () | |
| ~LinearAllocator () | |
| void * | allocate (const int64_t size, const int64_t alignment) |
| template<typename T > | |
| T * | allocate () |
| template<typename T > | |
| MutableSpan< T > | allocate_array (int64_t size) |
| template<typename T , typename... Args> | |
| destruct_ptr< T > | construct (Args &&...args) |
| template<typename T , typename... Args> | |
| MutableSpan< T > | construct_array (int64_t size, Args &&...args) |
| template<typename T > | |
| MutableSpan< T > | construct_array_copy (Span< T > src) |
| StringRefNull | copy_string (StringRef str) |
| MutableSpan< void * > | allocate_elements_and_pointer_array (int64_t element_amount, int64_t element_size, int64_t element_alignment) |
| template<typename T , typename... Args> | |
| Span< T * > | construct_elements_and_pointer_array (int64_t n, Args &&...args) |
| void | provide_buffer (void *buffer, const int64_t size) |
| template<size_t Size, size_t Alignment> | |
| void | provide_buffer (AlignedBuffer< Size, Alignment > &aligned_buffer) |
| void | free_end_of_previous_allocation (const int64_t original_allocation_size, const void *free_after) |
| void | transfer_ownership_from (LinearAllocator<> &other) |
#IndexMask does not own any memory itself. In many cases the memory referenced by a mask has static life-time (e.g. when a mask is a range). To create more complex masks, additional memory is necessary. IndexMaskMemory is a simple wrapper around a linear allocator that has to be passed to functions that might need to allocate extra memory.
Definition at line 108 of file BLI_index_mask.hh.
|
inline |
Definition at line 114 of file BLI_index_mask.hh.
References blender::LinearAllocator< Allocator >::provide_buffer().