DUNE PDELab (git)

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// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
4// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-GPL-2.0-only-with-PDELab-exception
5
6#ifndef DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH
7#define DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH
8
9#include <cstddef>
10
11#include <dune/typetree/nodeinterface.hh>
12
13namespace Dune {
14 namespace TypeTree {
15
21 template<typename SourceNode, typename Transformation, template<typename,typename,std::size_t> class TransformedNode>
22 struct GenericPowerNodeTransformationTemplate
23 {
24 template<typename TC>
25 struct result
26 {
27 typedef TransformedNode<SourceNode,TC,StaticDegree<SourceNode>::value> type;
28 };
29 };
30
31
32 template<typename SourceNode, typename Transformation, template<typename,typename> class TransformedNode>
33 struct GenericDynamicPowerNodeTransformationTemplate
34 {
35 template<typename TC>
36 struct result
37 {
38 typedef TransformedNode<SourceNode,TC> type;
39 };
40 };
41
42 template<typename SourceNode, typename Transformation, template<typename,typename...> class TransformedNode>
43 struct GenericCompositeNodeTransformationTemplate
44 {
45 template<typename... TC>
46 struct result
47 {
48 typedef TransformedNode<SourceNode,TC...> type;
49 };
50 };
51
53
54 } // namespace TypeTree
55} //namespace Dune
56
57#endif // DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH
Dune namespace.
Definition: alignedallocator.hh:13
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)