Loading...
Searching...
No Matches
treepath.hh File Reference
`#include <cstddef>`
`#include <cassert>`
`#include <type_traits>`
`#include <dune/common/documentation.hh>`
`#include <dune/common/typetraits.hh>`
`#include <dune/common/indices.hh>`
`#include <dune/common/hybridmultiindex.hh>`

Go to the source code of this file.

## Namespaces

namespace | Dune
| Dune namespace
namespace | Dune::TypeTree
namespace | Dune::TypeTree::Literals

## Typedefs

template<typename... T>
using | Dune::TypeTree::TreePath = Dune::HybridMultiIndex<T...>
| A type for representing tree paths that supports both compile time and run time indices.

## Functions

template<typename... T> requires (((std::is_integral_v<T> or Dune::IsIntegralConstant<T>::value) && ...))
constexpr auto | Dune::TypeTree::treePath (const T &... t)
| Constructs a new TreePath from the given indices.
template<char... digits>
constexpr auto | Dune::TypeTree::Literals::operator""_tp ()
| Literal to create treepath.
template<typename... T>
constexpr auto | Dune::TypeTree::back (const HybridMultiIndex< T... > &tp) -> decltype(tp.back())
| Returns a copy of the last element of the HybridMultiIndex.
template<typename... T>
constexpr auto | Dune::TypeTree::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 > | Dune::TypeTree::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... > | Dune::TypeTree::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 | Dune::TypeTree::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 | Dune::TypeTree::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 | Dune::TypeTree::join (const HybridMultiIndex< Head... > &head, const Other &... tail)
| Join two hybrid multi-indices into one.
template<class... T>
constexpr auto | Dune::TypeTree::reverse (const HybridMultiIndex< T... > &tp)
| Reverses the order of the elements in the multi-index.
template<class... T> requires (sizeof...(T) > 0)
constexpr auto | Dune::TypeTree::pop_front (const HybridMultiIndex< T... > &tp)
| Removes first index on a HybridMultiIndex.
template<class... T> requires (sizeof...(T) > 0)
constexpr auto | Dune::TypeTree::pop_back (const HybridMultiIndex< T... > &tp)
| Removes last index on a HybridMultiIndex.