CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::NodeInterface< T_Impl > Struct Template Reference

Node side interface for the traversal of expressions. More...

#include <nodeInterface.hpp>

Inheritance diagram for codi::NodeInterface< T_Impl >:

Public Types

using Impl = T_Impl
 See NodeInterface.
 

Public Member Functions

Impl const & cast () const
 Cast to the implementation.
 

Interface definition

static bool constexpr EndPoint = false
 If this expression is handled as a leaf in the tree.
 
template<typename Logic , typename... Args>
void forEachLink (TraversalLogic< Logic > &logic, Args &&... args) const
 
template<typename Logic , typename... Args>
static Logic::ResultType constexpr forEachLinkConstExpr (Args &&... args)
 

Detailed Description

template<typename T_Impl>
struct codi::NodeInterface< T_Impl >

Node side interface for the traversal of expressions.

See the TraversalLogic and CompileTimeTraversalLogic for details on how this interface is used.

Implementations need to call the link methods for each argument of the node.

Template Parameters
T_Impl

Member Function Documentation

◆ forEachLink()

template<typename T_Impl >
template<typename Logic , typename... Args>
void codi::NodeInterface< T_Impl >::forEachLink ( TraversalLogic< Logic > &  logic,
Args &&...  args 
) const
inline

Call the link method of the given logic for all arguments (links) of this node (not to be confused with args). Pass args to each call.

◆ forEachLinkConstExpr()

template<typename T_Impl >
template<typename Logic , typename... Args>
static Logic::ResultType constexpr codi::NodeInterface< T_Impl >::forEachLinkConstExpr ( Args &&...  args)
inlinestaticconstexpr

Call the link method of the given logic for all arguments (links) of this node (not to be confused with args). Pass args to each call.


The documentation for this struct was generated from the following file: