Flow
Documentation for the Flow C++ Library
|
Nflow | |
CArenaMemoryResource | A linear arena memory resource that allocates memory sequentially from a fixed buffer. Throws std::bad_alloc if there is insufficient space for the requested allocation |
CBinaryHeap | A binary min-heap container. Supports custom comparator and allocator |
CConcurrentFlexQueue | A thread-safe concurrent queue with flexible push and pop operations |
CNode | |
CConcurrentQueue | |
CCountedValueViewIterator | Iterator that returns a constant value a fixed number of times. Useful for creating a virtual range of repeated values without overhead |
CDebugClass | Debug class to track copy/move operations. Some operations may be optimized away in release builds |
CDefaultMemoryResource | A default memory resource that wraps global ::operator new and ::operator delete |
CMemoryResource | A memory resource holder interface for the PolymorphicAllocator. Responsible for allocate and deallocate raw memory |
CMultiQueueThreadPool | A work-stealing multiqueue threadpool. Each worker thread has a thread_local task queue to reduce thread contention |
CPolymorphicAllocator | Polymorphic allocator wrapping a non-owning memory resource. Allocation strategy depends on the memory resource implementation |
CPoolMemoryResource | A pool memory resource that manages fixed-size memory blocks from a pre-allocated buffer. The allocation size must be less or equal to the block size. The allocation alignment must be less or equal to the block alignment. Throws std::bad_alloc if the constraint is not met or run out of memory |
CHeader | |
CSimpleThreadPool | A simple thread pool with fixed number of worker threads. All the threads poll tasks from a single queue. If all the threads are waiting, then the user must manually call runPendingTask() to resolve deadlock |
CStackMemoryResource | A stack-based memory resource that allocates memory in a LIFO order from a fixed buffer. Deallocation must happen in reverse order of allocation. Throws std::bad_alloc if there is insufficient space for an allocation |
CHeader | |
CThreadTask | A task that can be execute by a thread. Internally, it uses type erasure to store a std::packaged_task. The memory is managed by std::unique_ptr |
CThreadTaskImp | |
CThreadTaskInterface | |
CTimer | A simple timer to record timelapses. Uses steady_clock by default |
CTuple | |
CTuple< T, Ts... > | |
CVector | |
CVectorGrowthStrategy | |
CDoubleExpand | |
CFibonacciExpand | |
CGoldenExpand | |
CWorkStealingQueue |