dune-typetree 2.12-git
Loading...
Searching...
No Matches
treepath.hh File Reference
#include <cstddef>
#include <cassert>
#include <iostream>
#include <type_traits>
#include <dune/common/documentation.hh>
#include <dune/common/typetraits.hh>
#include <dune/common/indices.hh>
#include <dune/common/typetree/treepath.hh>

Go to the source code of this file.

Namespaces

namespace  Dune
 
namespace  Dune::TypeTree
 
namespace  Dune::TypeTree::TreePathType
 

Typedefs

template<typename... T>
using Dune::TypeTree::HybridTreePath = Dune::HybridMultiIndex< T... >
 A type for representing tree paths that supports both compile time and run time indices.
 
template<std::size_t... i>
using Dune::TypeTree::StaticTreePath = HybridTreePath< Dune::index_constant< i >... >
 

Enumerations

enum  Dune::TypeTree::TreePathType::Type { Dune::TypeTree::TreePathType::fullyStatic , Dune::TypeTree::TreePathType::dynamic }
 

Functions

template<typename... T>
requires (((std::is_integral_v<T> or Dune::IsIntegralConstant<T>::value) && ...))
constexpr auto Dune::TypeTree::hybridTreePath (const T &... t)
 Constructs a new HybridTreePath from the given indices.
 
template<typename... T>
requires (((std::is_integral_v<T> or Dune::IsIntegralConstant<T>::value) && ...))
constexpr auto Dune::TypeTree::makeTreePath (const T... t)
 helper function to construct a new HybridTreePath from the given indices.
 
template<typename... T>
constexpr std::size_t Dune::TypeTree::treePathSize (const HybridTreePath< T... > &)
 Returns the size (number of components) of the given HybridTreePath.
 
template<std::size_t i, typename... T>
constexpr auto Dune::TypeTree::treePathEntry (const HybridTreePath< T... > &tp, index_constant< i >={})
 Returns a copy of the i-th element of the HybridTreePath.