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
}

函数

enum maxon::BLOCKARRAYFLAGS   MAXON_ENUM_FLAGS (BLOCKARRAYFLAGS)

变量

  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.