DUNE-FUNCTIONS (unstable)
containerdescriptors.hh File Reference
Lightweight representation of (hierarchical) size and block structure extracted from a basis to describe data structures like containers that can be accessed by multi-indices provided by the basis. More...
#include <array>#include <cassert>#include <functional>#include <type_traits>#include <vector>#include <dune/common/filledarray.hh>#include <dune/common/tuplevector.hh>#include <dune/common/typeutilities.hh>#include <dune/common/hybridutilities.hh>#include <dune/common/rangeutilities.hh>#include <dune/functions/common/type_traits.hh>#include <dune/functions/functionspacebases/basistags.hh>Go to the source code of this file.
Classes | |
| struct | Dune::Functions::ContainerDescriptors::Unknown |
| Fallback container descriptor if nothing else fits. More... | |
| struct | Dune::Functions::ContainerDescriptors::Value |
| The node in the descriptor tree representing a value placeholder. More... | |
| struct | Dune::Functions::ContainerDescriptors::UniformArray< Child, n > |
| Descriptor for arrays with all children identical and the number of children a static size. More... | |
| struct | Dune::Functions::ContainerDescriptors::UniformVector< Child > |
| Uniform descriptor with dynamic size. More... | |
Namespaces | |
| namespace | Dune |
Detailed Description
Lightweight representation of (hierarchical) size and block structure extracted from a basis to describe data structures like containers that can be accessed by multi-indices provided by the basis.
The structure of a container-descriptor is a reduced container interface:
struct [Container]Descriptor
{
template<class Index>
[SubContainerDescriptor] operator[](Index i) const; // return the i-th sub-container-descriptor
[static constexpr] std::size_t size() [const]; // return the number of children
};
With the operator[] you can access the children. The Index type is either an integral value or an integral_constant for tuple nodes.
Size is either a static property, or a runtime value.
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Jan 10, 23:35, 2026)