"Fossies" - the Fresh Open Source Software Archive

Member "dune-typetree-2.8.0/dune/typetree/powercompositenodetransformationtemplates.hh" (31 Aug 2021, 1507 Bytes) of package /linux/misc/dune/dune-typetree-2.8.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "powercompositenodetransformationtemplates.hh" see the Fossies "Dox" file reference documentation.

    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 
   11 namespace Dune {
   12   namespace TypeTree {
   13 
   14     /** \addtogroup Transformation
   15      *  \ingroup TypeTree
   16      *  \{
   17      */
   18 
   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 
   50     //! \} group Transformation
   51 
   52   } // namespace TypeTree
   53 } //namespace Dune
   54 
   55 #endif // DUNE_TYPETREE_POWERCOMPOSITENODETRANSFORMATIONTEMPLATES_HH