Blender V4.3
blender::index_mask::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 ()
 
template<typename T >
MutableSpan< Tallocate_array (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 108 of file BLI_index_mask.hh.

Constructor & Destructor Documentation

◆ IndexMaskMemory()

blender::index_mask::IndexMaskMemory::IndexMaskMemory ( )
inline

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