DUNE PDELab (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 |
| Dune namespace. | |
Typedefs | |
| template<class... Children> | |
| using | Dune::Functions::ContainerDescriptors::Tuple = Dune::TupleVector< Children... > |
| Descriptor with all children of possibly different type. | |
| template<class Child , std::size_t n> | |
| using | Dune::Functions::ContainerDescriptors::Array = std::array< Child, n > |
| Descriptor for arrays with all children of the same type and static size. | |
| template<class Child > | |
| using | Dune::Functions::ContainerDescriptors::Vector = std::vector< Child > |
| Descriptor for vectors with all children of the same type and dynamic size. | |
| template<std::size_t n> | |
| using | Dune::Functions::ContainerDescriptors::FlatArray = UniformArray< Value, n > |
| Alias for a uniform array storing value placeholders. | |
| using | Dune::Functions::ContainerDescriptors::FlatVector = UniformVector< Value > |
| Alias for a uniform vector storing value placeholders. | |
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
(Nov 9, 23:40, 2025)