|
QuantumLibrary
|
Provides fast (quasi zero-time) in-place allocation for coroutines. Coroutine stacks are pre-allocated from separate (i.e. non-contiguous) heap blocks and maintained in a reusable list. More...
#include <quantum_coroutine_pool_allocator.h>
Public Types | |
| typedef CoroutinePoolAllocator< STACK_TRAITS > | this_type |
| typedef size_t | size_type |
| typedef uint16_t | index_type |
| typedef STACK_TRAITS | traits |
Public Member Functions | |
| CoroutinePoolAllocator (index_type size) | |
| CoroutinePoolAllocator (const this_type &)=delete | |
| CoroutinePoolAllocator (this_type &&) | |
| CoroutinePoolAllocator & | operator= (const this_type &)=delete |
| CoroutinePoolAllocator & | operator= (this_type &&) |
| virtual | ~CoroutinePoolAllocator () |
| boost::context::stack_context | allocate () |
| void | deallocate (const boost::context::stack_context &ctx) |
| size_t | allocatedBlocks () const |
| size_t | allocatedHeapBlocks () const |
| bool | isFull () const |
| bool | isEmpty () const |
Provides fast (quasi zero-time) in-place allocation for coroutines. Coroutine stacks are pre-allocated from separate (i.e. non-contiguous) heap blocks and maintained in a reusable list.
| typedef uint16_t Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::index_type |
| typedef size_t Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::size_type |
| typedef CoroutinePoolAllocator<STACK_TRAITS> Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::this_type |
| typedef STACK_TRAITS Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::traits |
| Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::CoroutinePoolAllocator | ( | index_type | size | ) |
|
delete |
| Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::CoroutinePoolAllocator | ( | this_type && | other | ) |
|
virtual |
| boost::context::stack_context Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::allocate | ( | ) |
| size_t Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::allocatedBlocks | ( | ) | const |
| size_t Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::allocatedHeapBlocks | ( | ) | const |
| void Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::deallocate | ( | const boost::context::stack_context & | ctx | ) |
| bool Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::isEmpty | ( | ) | const |
| bool Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::isFull | ( | ) | const |
|
delete |
| CoroutinePoolAllocator< STACK_TRAITS > & Bloomberg::quantum::CoroutinePoolAllocator< STACK_TRAITS >::operator= | ( | this_type && | other | ) |