Blender V5.0
IndexMaskMemory Class Reference

#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>
Tallocate ()
void * allocate (const CPPType &type)
template<typename T>
MutableSpan< Tallocate_array (int64_t size)
void * allocate_array (const CPPType &type, const int64_t size)
template<typename T, typename... Args>
destruct_ptr< Tconstruct (Args &&...args)
template<typename T, typename... Args>
MutableSpan< Tconstruct_array (int64_t size, Args &&...args)
template<typename T>
MutableSpan< Tconstruct_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)

Detailed Description

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 112 of file BLI_index_mask.hh.

Constructor & Destructor Documentation

◆ IndexMaskMemory()


The documentation for this class was generated from the following file: