Dune Core Modules (2.8.0)

powercompositenodetransformationtemplates.hh
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3
4#ifndef DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH
5#define DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH
6
7#include <cstddef>
8
9#include <dune/typetree/nodeinterface.hh>
10
11namespace Dune {
12 namespace TypeTree {
13
19 template<typename SourceNode, typename Transformation, template<typename,typename,std::size_t> class TransformedNode>
20 struct GenericPowerNodeTransformationTemplate
21 {
22 template<typename TC>
23 struct result
24 {
25 typedef TransformedNode<SourceNode,TC,StaticDegree<SourceNode>::value> type;
26 };
27 };
28
29
30 template<typename SourceNode, typename Transformation, template<typename,typename> class TransformedNode>
31 struct GenericDynamicPowerNodeTransformationTemplate
32 {
33 template<typename TC>
34 struct result
35 {
36 typedef TransformedNode<SourceNode,TC> type;
37 };
38 };
39
40 template<typename SourceNode, typename Transformation, template<typename,typename...> class TransformedNode>
41 struct GenericCompositeNodeTransformationTemplate
42 {
43 template<typename... TC>
44 struct result
45 {
46 typedef TransformedNode<SourceNode,TC...> type;
47 };
48 };
49
51
52 } // namespace TypeTree
53} //namespace Dune
54
55#endif // DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH
Dune namespace.
Definition: alignedallocator.hh:11
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)