|
dune-common 2.11
|
Namespaces | |
| namespace | Concept |
| namespace | Literals |
Typedefs | |
| template<typename Node, std::size_t... indices> | |
| using | Child = typename Impl::ChildTraits<Node, indices...>::type |
| Template alias for the type of a child node given by a list of child indices. | |
| template<typename Node, typename TreePath> | |
| using | ChildForTreePath = std::decay_t<decltype(child(std::declval<Node>(), std::declval<TreePath>()))> |
| Template alias for the type of a child node given by a TreePath type. | |
| template<class Value, class Tree> | |
| using | UniformTreeContainer = std::decay_t<decltype(makeTreeContainer<Value>(std::declval<const Tree&>()))> |
| Alias to container type generated by makeTreeContainer for given tree type and uniform value type. | |
| template<template< class Node > class LeafToValue, class Tree> | |
| using | TreeContainer = std::decay_t<decltype(makeTreeContainer(std::declval<const Tree&>(), std::declval<Impl::LeafToDefaultConstructibleValue<LeafToValue>>()))> |
| Alias to container type generated by makeTreeContainer for give tree type and when using LeafToValue to create values. | |
| template<typename... T> | |
| using | TreePath = Dune::HybridMultiIndex<T...> |
| A type for representing tree paths that supports both compile time and run time indices. | |
Functions | |
| template<typename Node, typename... Indices> | |
| decltype(auto) | child (Node &&node, TreePath< Indices... > treePath) |
| Extracts the child of a node given by a TreePath object. | |
| template<typename Node, typename... Indices> | |
| decltype(auto) | child (Node &&node, Indices... indices) |
| Extracts the child of a node given by a sequence of compile-time and run-time indices. | |
| template<Concept::InnerTreeNode Tree, class Callable> | |
| constexpr void | forEachChild (Tree &&container, Callable &&at_value) |
| Traverse each child of a tree and apply a callable function. | |
| template<class Tree, class PreNodeFunc, class LeafNodeFunc, class PostNodeFunc> | |
| void | forEachNode (Tree &&tree, PreNodeFunc &&preNodeFunc, LeafNodeFunc &&leafNodeFunc, PostNodeFunc &&postNodeFunc) |
| Traverse tree and visit each node. | |
| template<Concept::TreeNode Tree, class NodeFunc> | |
| void | forEachNode (Tree &&tree, NodeFunc &&nodeFunc) |
| Traverse tree and visit each node. | |
| template<Concept::TreeNode Tree, class LeafFunc> | |
| void | forEachLeafNode (Tree &&tree, LeafFunc &&leafFunc) |
| Traverse tree and visit each leaf node. | |
| template<class Tree, class LeafToValue> | |
| auto | makeTreeContainer (const Tree &tree, LeafToValue &&leafToValue) |
| Create container having the same structure as the given tree. | |
| template<class Value, class Tree> | |
| auto | makeTreeContainer (const Tree &tree) |
| Create container having the same structure as the given tree. | |
| template<typename... T> requires (((std::is_integral_v<T> or Dune::IsIntegralConstant<T>::value) && ...)) | |
| constexpr auto | treePath (const T &... t) |
| Constructs a new TreePath from the given indices. | |
| template<char... digits> | |
| constexpr auto | operator""_tp () |
| Literal to create treepath. | |
| template<typename... T> | |
| constexpr auto | back (const HybridMultiIndex< T... > &tp) -> decltype(tp.back()) |
| Returns a copy of the last element of the HybridMultiIndex. | |
| template<typename... T> | |
| constexpr auto | front (const HybridMultiIndex< T... > &tp) -> decltype(tp.front()) |
| Returns a copy of the first element of the HybridMultiIndex. | |
| template<typename... T> | |
| constexpr HybridMultiIndex< T..., std::size_t > | push_back (const HybridMultiIndex< T... > &tp, std::size_t i) |
| Appends a run time index to a HybridMultiIndex. | |
| template<typename... T> | |
| constexpr HybridMultiIndex< std::size_t, T... > | push_front (const HybridMultiIndex< T... > &tp, std::size_t i) |
| Prepends a run time index to a HybridMultiIndex. | |
| template<typename I, typename... T> requires (sizeof...(T) > 0) | |
| constexpr auto | accumulate_back (const HybridMultiIndex< T... > &tp, I i) |
| Hybrid utility that accumulates to the back of a multi-index. | |
| template<typename I, typename... T> requires (sizeof...(T) > 0) | |
| constexpr auto | accumulate_front (const HybridMultiIndex< T... > &tp, I i) |
| Hybrid utility that accumulates to the front of a multi-index. | |
| template<class... Head, class... Other> | |
| constexpr auto | join (const HybridMultiIndex< Head... > &head, const Other &... tail) |
| Join two hybrid multi-indices into one. | |
| template<class... T> | |
| constexpr auto | reverse (const HybridMultiIndex< T... > &tp) |
| Reverses the order of the elements in the multi-index. | |
| template<class... T> requires (sizeof...(T) > 0) | |
| constexpr auto | pop_front (const HybridMultiIndex< T... > &tp) |
| Removes first index on a HybridMultiIndex. | |
| template<class... T> requires (sizeof...(T) > 0) | |
| constexpr auto | pop_back (const HybridMultiIndex< T... > &tp) |
| Removes last index on a HybridMultiIndex. | |
|
nodiscardconstexpr |
Hybrid utility that accumulates to the back of a multi-index.
The back of the multi-index will be accumulated and promoted in order to hold the new index:
|
nodiscardconstexpr |
Hybrid utility that accumulates to the front of a multi-index.
The front of the multi-index will be accumulated and promoted in order to hold the new index:
|
nodiscardconstexpr |
Returns a copy of the last element of the HybridMultiIndex.
As HybridMultiIndex instances should not be mutated after their creation, this function returns a copy of the value. As values are either std::integral_constant or std::size_t, that's just as cheap as returning a reference.
|
nodiscardconstexpr |
Returns a copy of the first element of the HybridMultiIndex.
As HybridMultiIndex instances should not be mutated after their creation, this function returns a copy of the value. As values are either std::integral_constant or std::size_t, that's just as cheap as returning a reference.
|
nodiscardconstexpr |
Join two hybrid multi-indices into one.
|
nodiscardconstexpr |
Removes last index on a HybridMultiIndex.
This function returns a new HybridMultiIndex without the last index.
|
nodiscardconstexpr |
Removes first index on a HybridMultiIndex.
This function returns a new HybridMultiIndex without the first index.
|
nodiscardconstexpr |
Appends a run time index to a HybridMultiIndex.
This function returns a new HybridMultiIndex with the run time index i appended.
|
nodiscardconstexpr |
Prepends a run time index to a HybridMultiIndex.
This function returns a new HybridMultiIndex with the run time index i prepended.
|
nodiscardconstexpr |
Reverses the order of the elements in the multi-index.