|
template<class... Ts, class Fn > |
void | sequoia::object::impl::extract_leaves (suite< Ts... > &s, Fn fn) |
|
template<class... Ts, class Filter , class Transform , class Container , class... PreviousSuites>
requires (is_suite_v<PreviousSuites> && ...) && ((!is_suite_v<Ts>) && ...) |
Container && | sequoia::object::impl::extract_leaves (suite< Ts... > &s, Filter &&filter, Transform t, Container &&c, const PreviousSuites &... previous) |
|
template<class... Ts, class Filter , class Transform , class Container , class... PreviousSuites>
requires (is_suite_v<PreviousSuites> && ...) && ((is_suite_v<Ts>) && ...) |
Container && | sequoia::object::impl::extract_leaves (suite< Ts... > &s, Filter &&filter, Transform t, Container &&c, const PreviousSuites &... previous) |
|
template<class... Ts, class Transform , class Tree , std::integral SizeType = typename Tree::size_type, class Fn >
requires maths::dynamic_tree<std::remove_cvref_t<Tree>> |
Tree && | sequoia::object::impl::extract_tree (suite< Ts... > &s, Transform transform, Tree &&tree, const SizeType parentNode, Fn fn) |
|
template<class... Ts, class Filter , class Transform , class Tree , std::integral SizeType = typename Tree::size_type, class... PreviousSuites>
requires maths::dynamic_tree<std::remove_cvref_t<Tree>> && (is_suite_v<PreviousSuites> && ...) && ((!is_suite_v<Ts>) && ...) |
Tree && | sequoia::object::impl::extract_tree (suite< Ts... > &s, Filter &&filter, Transform transform, Tree &&tree, const SizeType parentNode, const PreviousSuites &... previous) |
|
template<class... Ts, class Filter , class Transform , class Tree , std::integral SizeType = typename Tree::size_type, class... PreviousSuites>
requires maths::dynamic_tree<std::remove_cvref_t<Tree>> && (is_suite_v<PreviousSuites> && ...) && ((is_suite_v<Ts>) && ...) |
Tree && | sequoia::object::impl::extract_tree (suite< Ts... > &s, Filter &&filter, Transform transform, Tree &&tree, const SizeType parentNode, const PreviousSuites &... previous) |
|
template<class Suite , class Filter , class Transform = std::identity, class Container = std::vector<leaves_to_variant_or_unique_type_t<Suite, Transform>>>
requires is_suite_v<Suite> |
Container | sequoia::object::extract_leaves (Suite s, Filter &&filter, Transform t={}) |
|
template<class Suite , class Filter , class Transform , maths::dynamic_tree Tree = maths::directed_tree<maths::tree_link_direction::forward, maths::null_weight, to_variant_or_unique_type_t<Suite, Transform>>>
requires is_suite_v<Suite> |
Tree | sequoia::object::extract_tree (Suite s, Filter &&filter, Transform transform) |
|
template<class Suite , class Filter , class Transform , maths::dynamic_tree Tree>
requires is_suite_v<Suite> |
Tree & | sequoia::object::extract_tree (Suite s, Filter &&filter, Transform transform, Tree &tree, typename Tree::size_type pos) |
|
Utilities for defining a suite of objects, filtered at runtime.