blockarray.h File Reference

Classes

class  BlockArray< T, BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >
 
class  BlockArray< T, BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >::IteratorTemplate< CONSTITERATOR >
 
class  BlockArray< T, BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >::IteratorTemplate< CONSTITERATOR >
 
struct  BlockArray< T, BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >::ForwardAllocator
 
class  BlockArray< T, BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >::ArrayOfBlocks
 
class  BlockArraySelector< BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >
 

Namespaces

 maxon
 

Enumerations

enum  BLOCKARRAYFLAGS {
  NONE,
  MOVEANDCOPYOBJECTS,
  NOINSERTERASE,
  GROW_SLOWLY
}
 

Functions

enum maxon::BLOCKARRAYFLAGS MAXON_ENUM_FLAGS (BLOCKARRAYFLAGS)
 

Variables

 NONE
 
 MOVEANDCOPYOBJECTS
 
 NOINSERTERASE
 
 GROW_SLOWLY
 
static const Int BLOCKARRAY_DEFAULT_SIZE_EXPONENT
 

Variable Documentation

◆ NONE

NONE

Use constructor/destructor or move operator unless the type is trivially copyable using memcpy, memmove or realloc.

◆ MOVEANDCOPYOBJECTS

MOVEANDCOPYOBJECTS

Elements are PODs and can be copied using memcpy and moved using memmove/realloc (for Resize, Insert, Erase, Append etc.). Overrides the setting of std::is_trivially_copyable<T>.

◆ NOINSERTERASE

NOINSERTERASE

Do not support Insert() and Erase() (will make the subscript operator faster).

◆ GROW_SLOWLY

GROW_SLOWLY

The first block will increase its size gradually (and might move memory) until it reaches 1 << BLOCK_SIZE_EXPONENT.