CoDiPack  2.3.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::MathStatementGenLogic< Identifier > Struct Template Reference

Creates a math representation from a given rhs in the form of a string. More...

#include <mathStatementGenLogic.hpp>

Inheritance diagram for codi::MathStatementGenLogic< Identifier >:

Public Member Functions

template<typename Node >
void eval (NodeInterface< Node > const &node, std::string &mathRep)
 Produces a math representation string for a given statement.
 
 MathStatementGenLogic (Identifier passiveThreshold=0)
 Constructor.
 
- Public Member Functions inherited from codi::ForEachLeafLogic< MathStatementGenLogic< Identifier > >
void handleActive (Node const &node, Args &&... args)
 Called for leaf nodes which implement LhsExpressionInterface.
 
void handleConstant (Node const &node, Args &&... args)
 Called for leaf nodes which implement ConstantExpression.
 
ExpressionTraits::EnableIfLhsExpression< Node > leaf (Node const &node, Args &&... args)
 Called for all leaf nodes in the expression.
 
ExpressionTraits::EnableIfConstantExpression< Node > leaf (Node const &node, Args &&... args)
 Called for all leaf nodes in the expression.
 
- Public Member Functions inherited from codi::TraversalLogic< T_Impl >
Implcast ()
 Cast to the implementation.
 
template<typename Node , typename... Args>
void eval (NodeInterface< Node > const &node, Args &&... args)
 Start the evaluation of the logic on the given expression.
 
template<typename Node , typename... Args>
void node (Node const &node, Args &&... args)
 Called for each node in the expression.
 
template<typename Node , typename... Args>
void leaf (Node const &node, Args &&... args)
 Called for all leaf nodes in the expression.
 
template<size_t ChildNumber, typename Child , typename Root , typename... Args>
void link (Child const &child, Root const &root, Args &&... args)
 Called for all links in the expression.
 

Public Attributes

Identifier passiveThreshold
 The identifiers that are allocated for passive values.
 

Overwrites from TraversalLogic

template<typename Node >
void node (Node const &node, std::vector< std::string > &nodeRep)
 Links two nodes with a math operation.
 
template<typename Node >
void handleActive (Node const &node, std::vector< std::string > &linkRep)
 Called for leaf nodes which implement LhsExpressionInterface.
 
template<typename Node >
void handleConstant (Node const &node, std::vector< std::string > &linkRep)
 Called for leaf nodes which implement ConstantExpression.
 

Additional Inherited Members

- Public Types inherited from codi::ForEachLeafLogic< MathStatementGenLogic< Identifier > >
using Impl
 See ForEachLeafLogic.
 
- Public Types inherited from codi::TraversalLogic< T_Impl >
using Impl = T_Impl
 See TraversalLogic.
 
- Protected Member Functions inherited from codi::TraversalLogic< T_Impl >
template<typename Node , typename... Args>
void toLinks (Node const &node, Args &&... args)
 Helper method which calls forEachLink on the node.
 
template<typename Node , typename... Args>
void toNode (Node const &node, Args &&... args)
 Helper method to distinguish between leaf nodes and normal nodes.
 

Detailed Description

template<typename Identifier>
struct codi::MathStatementGenLogic< Identifier >

Creates a math representation from a given rhs in the form of a string.

Template Parameters
IdentifierThe Codi identifier type for internal management, e.g. int.

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