|
template<std::size_t... i> |
void | Dune::TypeTree::print_tree_path (std::ostream &os) |
|
template<std::size_t k, std::size_t... i> |
void | Dune::TypeTree::print_tree_path (std::ostream &os) |
|
template<typename... T> |
constexpr HybridTreePath< T... > | Dune::TypeTree::hybridTreePath (const T &... t) |
| Constructs a new HybridTreePath from the given indices. More...
|
|
template<typename... T> |
constexpr HybridTreePath< T... > | Dune::TypeTree::treePath (const T &... t) |
| Constructs a new HybridTreePath from the given indices. More...
|
|
template<typename... T> |
constexpr std::size_t | Dune::TypeTree::treePathSize (const HybridTreePath< T... > &) |
| Returns the size (number of components) of the given HybridTreePath . More...
|
|
template<std::size_t i, typename... T> |
constexpr auto | Dune::TypeTree::treePathEntry (const HybridTreePath< T... > &tp, index_constant< i >={}) -> typename std::decay< decltype(std::get< i >(tp._data))>::type |
| Returns a copy of the i-th element of the HybridTreePath . More...
|
|
template<std::size_t i, typename... T> |
constexpr std::size_t | Dune::TypeTree::treePathIndex (const HybridTreePath< T... > &tp, index_constant< i >={}) |
| Returns the index value of the i-th element of the HybridTreePath . More...
|
|
template<typename... T, typename std::enable_if<(sizeof...(T) > 0), bool >::type = true> |
constexpr auto | Dune::TypeTree::back (const HybridTreePath< T... > &tp) -> decltype(treePathEntry< sizeof...(T) -1 >(tp)) |
| Returns a copy of the last element of the HybridTreePath . More...
|
|
template<typename... T> |
constexpr auto | Dune::TypeTree::front (const HybridTreePath< T... > &tp) -> decltype(treePathEntry< 0 >(tp)) |
| Returns a copy of the first element of the HybridTreePath . More...
|
|
template<typename... T> |
constexpr HybridTreePath< T..., std::size_t > | Dune::TypeTree::push_back (const HybridTreePath< T... > &tp, std::size_t i) |
| Appends a run time index to a HybridTreePath . More...
|
|
template<std::size_t i, typename... T> |
constexpr HybridTreePath< T..., index_constant< i > > | Dune::TypeTree::push_back (const HybridTreePath< T... > &tp, index_constant< i > i_={}) |
| Appends a compile time index to a HybridTreePath . More...
|
|
template<typename... T> |
constexpr HybridTreePath< std::size_t, T... > | Dune::TypeTree::push_front (const HybridTreePath< T... > &tp, std::size_t element) |
| Prepends a run time index to a HybridTreePath . More...
|
|
template<std::size_t i, typename... T> |
constexpr HybridTreePath< index_constant< i >, T... > | Dune::TypeTree::push_front (const HybridTreePath< T... > &tp, index_constant< i > _i={}) |
| Prepends a compile time index to a HybridTreePath . More...
|
|
template<typename... T> |
std::ostream & | Dune::TypeTree::operator<< (std::ostream &os, const HybridTreePath< T... > &tp) |
| Dumps a HybridTreePath to a stream. More...
|
|
template<typename... T, typename std::enable_if<(sizeof...(T) > 0), bool >::type = true>
Returns a copy of the last element of the HybridTreePath
.
As HybridTreePath
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.
template<std::size_t i, typename... T>
constexpr auto Dune::TypeTree::treePathEntry |
( |
const HybridTreePath< T... > & |
tp, |
|
|
index_constant< i > |
= {} |
|
) |
| -> typename std::decay<decltype(std::get<i>(tp._data))>::type
|
|
constexpr |
Returns a copy of the i-th element of the HybridTreePath
.
As HybridTreePath
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.
The index for the entry can be passed either as a template parameter or as an index_constant
:
using namespace Dune::TypeTree::Indices;
std::cout << treePathEntry<2>(tp) << std::endl;
template<std::size_t i, typename... T>
constexpr std::size_t Dune::TypeTree::treePathIndex |
( |
const HybridTreePath< T... > & |
tp, |
|
|
index_constant< i > |
= {} |
|
) |
| |
|
constexpr |
Returns the index value of the i-th element of the HybridTreePath
.
This function always returns the actual index value, irrespective of whether the entry is a compile time index or a run time index.
The index for the entry can be passed either as a template parameter or as an index_constant
:
using namespace Dune::TypeTree::Indices;
std::cout << treePathIndex<2>(tp) << std::endl;