16 #if !defined(OPENNURBS_FSP_INC_)
17 #define OPENNURBS_FSP_INC_
53 std::size_t sizeof_element,
54 std::size_t element_count_estimate,
55 std::size_t block_element_capacity
62 std::size_t SizeofElement()
const;
68 void* AllocateElement();
104 void ReturnElement(
void* p);
125 std::size_t ActiveElementCount()
const;
131 std::size_t TotalElementCount()
const;
177 void* FirstElement();
178 void* FirstElement( std::size_t element_index );
249 void* FirstBlock( std::size_t* block_element_count );
274 void* NextBlock( std::size_t* block_element_count );
298 void* Element(std::size_t element_index)
const;
308 void SetHeap( ON_MEMORY_POOL* heap );
317 ON_MEMORY_POOL* Heap();
326 void EmergencyDestroy();
335 void* m_al_element_stack;
338 void* m_qwerty_it_block;
339 void* m_qwerty_it_element;
343 void* m_al_element_array;
344 std::size_t m_al_count;
345 std::size_t m_sizeof_element;
346 std::size_t m_block_element_count;
347 std::size_t m_active_element_count;
348 std::size_t m_total_element_count;
349 ON_MEMORY_POOL* m_heap;
353 std::size_t BlockElementCapacity(
const void* block )
const;
356 std::size_t BlockElementCount(
const void* block )
const;
468 void*
FirstBlock( std::size_t* block_element_count );
487 void*
NextBlock( std::size_t* block_element_count );
529 std::size_t element_count_estimate,
530 std::size_t block_element_count
674 T*
FirstBlock( std::size_t* block_element_count );
687 T*
NextBlock( std::size_t* block_element_count );
712 T*
Element(std::size_t element_index)
const;
722 void SetHeap( ON_MEMORY_POOL* heap );
731 ON_MEMORY_POOL*
Heap();
751 #include "opennurbs_fsp_defs.h"
T * Element(std::size_t element_index) const
T * FirstBlock(std::size_t *block_element_count)
void SetHeap(ON_MEMORY_POOL *heap)
std::size_t TotalElementCount() const
bool Create(std::size_t element_count_estimate, std::size_t block_element_count)
std::size_t ActiveElementCount() const
T * NextBlock(std::size_t *block_element_count)
void * NextBlock(std::size_t *block_element_count)
void * FirstBlock(std::size_t *block_element_count)
~ON_SimpleFixedSizePool()
std::size_t SizeofElement() const
const class ON_FixedSizePool & m_fsp