#include <concurrent_object_arena.h>
Public Member Functions | |
ConcurrentObjectArena (const Index minBuffSize) | |
ConcurrentObjectArena (const ConcurrentObjectArena< T, Index, alignment > &other) | |
ConcurrentObjectArena (ConcurrentObjectArena< T, Index, alignment > &&other) noexcept | |
ConcurrentObjectArena< T, Index, alignment > & | operator= (ConcurrentObjectArena< T, Index, alignment > const &other) |
ConcurrentObjectArena< T, Index, alignment > & | operator= (ConcurrentObjectArena< T, Index, alignment > &&other) noexcept |
ConcurrentObjectArena
is an indexed sequence container that allows concurrent insertion to its end. Insertion never invalidates pointers or references to the rest of the elements. As opposet to std::vector, the elements of a ConcurrentObjectArena
are not stored contiguously. In memory it is sequence of individually allocated fixed-size arrays, with additional bookkeeping. The size of arrays is always power of two (to optimize indexed access)
buffers |<──── bufferSize ───>| ┌─┐ ┌──────────────────────────────┐ │*├───>│ │ ├─┤ ├──────────────────────────────┤ │*├───>│ │ ├─┤ ├──────────────────────────────┤ │*├───>│ │ └─┘ └──────────────────────────────┘ *
Definition at line 56 of file concurrent_object_arena.h.
|
inlineexplicit |
Construct a ConcurrentObjectArena
with given or bigger contiguous array size
minBuffSize | The minimum size of the internal buffer. If given size is not power of 2 the closest bigger power of two would be chosen. |
Definition at line 64 of file concurrent_object_arena.h.
|
inline |
Copy constructor
Definition at line 82 of file concurrent_object_arena.h.
|
inlinenoexcept |
Move constructor
Definition at line 107 of file concurrent_object_arena.h.
|
inline |
Definition at line 119 of file concurrent_object_arena.h.
|
inlinenoexcept |
Move assignment operator. This is not concurrency safe.
Definition at line 144 of file concurrent_object_arena.h.
|
inline |
Copy assignment operator. This is not concurrency safe.
Definition at line 134 of file concurrent_object_arena.h.