|
Flow
Documentation for the Flow C++ Library
|
| Cflow::Append< T, value > | Append a value to the list |
| Cflow::Append< NonTypeList< vs... >, v > | |
| Cflow::BinaryHeap< T, Compare, Allocator > | A binary min-heap container. Supports custom comparator and allocator |
| Cflow::BuddyMemoryResource::BuddyBlock | |
| Cflow::ConcurrentFlexQueue< T > | A thread-safe concurrent queue with flexible push and pop operations |
| Cflow::ConcurrentQueue< T, Container > | |
| Cflow::CountedValueViewIterator< T > | Iterator that returns a constant value a fixed number of times. Useful for creating a virtual range of repeated values without overhead |
| Cflow::DebugClass | Debug class to track copy/move operations. Some operations may be optimized away in release builds |
| Cflow::DisjointSet< T, Allocator > | A disjoint union set that uses path compression and union by rank |
| Cflow::VectorGrowthStrategy::DoubleExpand | |
| Cstd::false_type | |
| Cflow::IsNonTypeList< NonTypeList< vs... > > | |
| Cflow::IsNonTypeList< typename > | |
| Cflow::VectorGrowthStrategy::FibonacciExpand | |
| Cflow::VectorGrowthStrategy::GoldenExpand | |
| Cflow::PoolMemoryResource::Header | |
| Cflow::StackMemoryResource::Header | |
| Cflow::IntegralIterator< T > | An iterator that can iterate through a range of integer. Useful when the search space is too big to fit into a container |
| Cflow::MemoryResource | A memory resource holder interface for the PolymorphicAllocator. Responsible for allocate and deallocate raw memory |
| Cflow::ArenaMemoryResource | 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 |
| Cflow::BuddyMemoryResource | Fixed-size buddy allocator implementing the MemoryResource interface. The min block size is 1 byte, the maximum is 1<<64 bytes |
| Cflow::DefaultMemoryResource | A default memory resource that wraps global ::operator new and ::operator delete |
| Cflow::PoolMemoryResource | 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 |
| Cflow::StackMemoryResource | 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 |
| Cflow::MultiQueueThreadPool< ThreadSafeQueue, LocalQueue > | A work-stealing multiqueue threadpool. Each worker thread has a thread_local task queue to reduce thread contention |
| Cflow::ConcurrentFlexQueue< T >::Node | |
| Cflow::DisjointSet< T, Allocator >::Node | |
| Cflow::NonTypeList< values > | |
| Cflow::PolymorphicAllocator< T > | Polymorphic allocator wrapping a non-owning memory resource. Allocation strategy depends on the memory resource implementation |
| Cflow::PopBack< T > | Remove the last element from the list |
| Cflow::PopBack< NonTypeList< v > > | |
| Cflow::PopBack< NonTypeList< v, vs... > > | |
| Cflow::PopFront< T > | Remove the first element from the list |
| Cflow::PopFront< NonTypeList< v, vs... > > | |
| Cflow::Prepend< T, value > | Prepend a value to the list |
| Cflow::Prepend< NonTypeList< vs... >, v > | |
| Cflow::SegmentTree< T, BinOp, Allocator > | A standard segment tree that supports O(log n) for point update and range query. The binary operation must be commutative |
| Cflow::Set< T, index, value > | Set the element at the index to the new value in the list |
| Cflow::Set< NonTypeList< v, vs... >, index, sv > | |
| Cflow::SimpleThreadPool< ThreadSafeQueue > | 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 |
| Cflow::Splice< T, first, last > | Splice out a list from the range [first, last) |
| Cflow::Splice< NonTypeList< v, vs... >, first, last > | |
| Cflow::Splice< NonTypeList< vs... >, first, last > | |
| Cflow::ThreadTask | 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 |
| Cflow::ThreadTask::ThreadTaskInterface | |
| Cflow::ThreadTask::ThreadTaskImp< Callable > | |
| Cflow::Timer< ClockType > | A simple timer to record timelapses. Uses steady_clock by default |
| Cstd::true_type | |
| Cflow::IsNonTypeList< NonTypeList< vs... > > | |
| Cflow::Vector< T, Allocator, Strategy > | |
| Cflow::VectorGrowthStrategy | |
| Cflow::WorkStealingQueue< T > |