stlab 2.3.0
Modern, modular C++ algorithms, data structures, and concurrency primitives
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Cstlab::annotateTest type that counts special-member and comparison operations via annotate_counters
 Cstlab::annotate_countersShared counters for annotate special-member and comparison instrumentation
 Cstlab::argument_of< typename >
 Cstlab::argument_of< R(Arg)>
 Cstlab::bool_pack<... >
 Cstlab::buffer_sizePer-process input queue capacity for flow control (combine with a process via operator&)
 Cstlab::child_adaptor< Forest >Presents the children of a node (given by a fullorder iterator into forest) as a small sequence-like interface: front / back / push_front / push_back / pop_front / pop_back
 Cstlab::child_iterator< I >Iterator over the child sequence of a node: adapts a fullorder iterator to visit only immediate children (skipping descendants)
 Cstlab::depth_fullorder_iterator< I >Fullorder iterator that tracks depth in the tree as it advances or retreats
 Cstlab::detector< Default, class, Op, Args >
 Cstlab::detector< Default, void_t< Op< Args... > >, Op, Args... >
 Cstlab::edge_iterator< I, Edge >Fullorder iterator restricted to a single edge kind: visits only leading or trailing positions (e.g. preorder vs. postorder when Edge is fixed)
 Cstlab::executorWraps an executor_t for use with operator&
 Cstlab::executor_task_pair< F >Executor plus callable, produced by executor & f (used by futures and channels)
 Cstd::false_type
 Cstlab::is_reference_wrapper< std::reference_wrapper< T > >
 Cstlab::is_reference_wrapper< T >
 Cstlab::filter_fullorder_iterator< I, P >Fullorder iterator that visits only positions whose values satisfy predicate P (skipping others by advancing through the underlying fullorder sequence)
 Cstlab::first_< T1, T >
 Cstlab::forest< T >Hierarchical, node-based container: a forest (ordered sequence of trees) with fullorder iterators and child views
 Cstlab::forest_range< I >Half-open range [begin, end) of forest iterators; used by child_range, preorder_range, etc
 Cstlab::remove_placeholder< Tuple >::function< Index >
 Cstlab::function_process< F >Adapts a std::function into a channel process with await / yield / state
 Cstlab::function_process< R(Args...)>Function-object process: binds arguments in await, runs the call in yield
 Cstlab::future< class, class >One-shot asynchronous result: holds a value or exception produced by a promise or packaged_task
 Cstlab::future< T, enable_if_copyable< void_to_monostate_t< T > > >Consumer side of a one-shot result (copyable T)
 Cstlab::future< T, enable_if_not_copyable< void_to_monostate_t< T > > >Consumer side of a one-shot result (non-copyable T). Use get_ready() or get_try(); then/recover only on rvalue
 Cstlab::identity
 Cstlab::index_sequence_cat< Seq1, Seq2 >
 Cstlab::index_sequence_cat< std::index_sequence< N1... >, std::index_sequence< N2... > >
 Cstlab::index_sequence_to_array< Seq >
 Cstlab::index_sequence_to_array< std::index_sequence< N... > >
 Cstlab::index_sequence_transform< Seq, F, Index, Count >
 Cstlab::index_sequence_transform< Seq, F, Index, 0 >
 Cstlab::index_sequence_transform< Seq, F, Index, 1 >
 Cstd::is_copy_constructible
 Cstlab::smart_test< std::is_copy_constructible, T >
 Cstd::logic_error
 Cstlab::channel_errorException type for channel usage errors (broken channel, process already running, etc.)
 Cstlab::future_errorException thrown when a future-related contract is violated (e.g. broken_promise, no_state)
 Cstlab::make_when_any< T >Helper to implement when_any for result type T
 Cstlab::make_when_any< void >Helper to implement when_any for void results
 Cstlab::move_onlyMove-only polymorphic test type with equality comparison
 Cstlab::noexcept_deducer< T, F >
 Cstlab::noexcept_deducer< T, R(Args...) noexcept >
 Cstlab::noexcept_deducer< T, R(Args...)>
 Cstlab::nonesuch
 Cstlab::packaged_task< Args >Invocable that completes a future when called with arguments of type Args...; created by package()
 Cstlab::placeholder
 Cstlab::progress_trackerTracks how many wrapped tasks are in flight and how many have completed
 Cstlab::receiver< T >Receiving end of a CSP channel
 Cstlab::regularRegular type that logs lifetime and comparison events to std::cout
 Cstlab::remove_placeholder< Tuple >
 Cstlab::result_of_< typename >
 Cstlab::result_of_< R(Args...)>
 Cstlab::reverse_fullorder_iterator< I >Reverses the direction of a fullorder walk while preserving edge semantics (bidirectional)
 Cstlab::round_robin_tMerge strategy for merge_channel: round-robin among upstream senders
 Cstlab::sender< typename, typename >
 Cstlab::sender< T, enable_if_copyable< T > >Sending end of a CSP channel (copyable T)
 Cstlab::sender< T, enable_if_not_copyable< T > >Sending end of a CSP channel (move-only T; not copyable)
 Cstlab::serial_queue_tExecutor wrapper that runs enqueued tasks serially on top of e
 Cstlab::unsafe::set_next_fn< I >Hook for intrusive iterators: specialize to set the successor of the node at x to y
 Cstlab::unsafe::set_next_fn< child_iterator< I > >
 Cstlab::unsafe::set_next_fn< detail::forest_iterator< T > >
 Cstlab::task_< NoExcept, R, Args >Type-erased, move-only callable with signature R(Args...) (or noexcept variant)
 Ctest
 Cstlab::smart_test< test, T >Trait adapter; specialize for types where std::is_copy_constructible is wrong
 Cstlab::forests::transcribe_iterator< Container >Output iterator that inserts projected values into a forest (or similar container)
 Cstd::true_type
 Cstlab::is_reference_wrapper< std::reference_wrapper< T > >
 Cstlab::unordered_tMerge strategy for merge_channel: invoke the process in arbitrary order as values arrive
 Cstlab::unwrap_reference< T >Type alias: T, or the referent type if T is std::reference_wrapper<U>
 Cstlab::unwrap_reference< std::reference_wrapper< T > >
 Cstlab::void_to_monostate< T >Maps void to std::monostate for uniform future result storage; other types unchanged
 Cstlab::voider<... >
 Cstlab::zip_with_tMerge strategy for merge_channel / zip_with: wait for one value from each upstream, then invoke with the full argument set