Template node class to perform ternary operations on evaluate-able nodes.
More...
#include </home/werner/origo/vish/ocean/parzival/OperatorNode.hpp>
List of all members.
Public Types
-
typedef TernaryFunctor::LeftNode_t Left_t
-
typedef Left_t::value_type left_type
-
typedef
TernaryFunctor::MiddleNode_t Middle_t
-
typedef Middle_t::value_type middle_type
-
typedef
TernaryFunctor::ResultNode_t Result_t
-
typedef TernaryFunctor::RightNode_t Right_t
-
typedef Right_t::value_type right_type
-
typedef Result_t::value_type value_type
Public Member Functions
- override MemCore::RefPtr< Node > derive (const ScalarVariableNode &Variable) const
-
override value_type eval (const Evaluator &EV) const
-
override MemCore::RefPtr
< MemCore::TypedChunk
< value_type > > evaluate (const Evaluator &E) const
-
override ostream & output (ostream &os) const
-
TernaryOperatorNode (const MemCore::RefPtr< Left_t > &left, const MemCore::RefPtr< Middle_t > &middle, const MemCore::RefPtr< Right_t > &right)
Public Attributes
-
MemCore::RefPtr< Left_t > Left
-
MemCore::RefPtr< Middle_t > Middle
-
MemCore::RefPtr< Right_t > Right
Detailed Description
Template node class to perform ternary operations on evaluate-able nodes.
- Parameters:
-
TernaryFunctor | A class that export three typedef's, named
- LeftNode_t
- MiddleNode_t
- RightNode_t
- ResultNode_t and a static member function eval() that takes appropriatve values. It is expected that the exported typedef's relate to child classes of Node , such as ScalarNode or VectorNode, though this is not an absolute requirement.
|
Member Function Documentation
override MemCore::RefPtr<Node> Eagle::TernaryOperatorNode::derive |
( |
const ScalarVariableNode & |
Variable | ) |
const [inline] |
- Todo:
- Ternary derivation not yet implemented
The documentation for this struct was generated from the following file:
- ocean/parzival/OperatorNode.hpp