|
dispenso 1.4.1
A library for task parallelism
|
#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 57 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 65 of file concurrent_object_arena.h.
|
inline |
Copy constructor
Definition at line 83 of file concurrent_object_arena.h.
|
inlinenoexcept |
Move constructor
Definition at line 108 of file concurrent_object_arena.h.
|
inline |
Definition at line 120 of file concurrent_object_arena.h.
|
inlinenoexcept |
Move assignment operator. This is not concurrency safe.
Definition at line 145 of file concurrent_object_arena.h.
|
inline |
Copy assignment operator. This is not concurrency safe.
Definition at line 135 of file concurrent_object_arena.h.