Helios++
Helios software for LiDAR simulations
IExprTreeNode< InputType, OutputType > Class Template Referenceabstract

Interface extending the Binary Tree node definition to become a Expression Tree node. Any class providing expression tree node based functionalities must implement the IExprTreeNode, which implies it must also implement the IBinaryTreeNode interface. More...

#include <IExprTreeNode.h>

Inheritance diagram for IExprTreeNode< InputType, OutputType >:
Collaboration diagram for IExprTreeNode< InputType, OutputType >:

Public Member Functions

virtual OutputType eval (InputType const x) const =0
 Evaluate the given node. In doing so, children nodes will be evaluated if necessary. More...
 
- Public Member Functions inherited from IBinaryTreeNode
virtual IBinaryTreeNodegetLeftChild () const =0
 Obtain the left child of current node. More...
 
virtual IBinaryTreeNodegetRightChild () const =0
 Obtain the right child of current node. More...
 
virtual bool isLeafNode () const
 Check whether current node is a leaf node (true) or not (false) More...
 

Detailed Description

template<typename InputType, typename OutputType>
class IExprTreeNode< InputType, OutputType >

Interface extending the Binary Tree node definition to become a Expression Tree node. Any class providing expression tree node based functionalities must implement the IExprTreeNode, which implies it must also implement the IBinaryTreeNode interface.

Author
Alberto M. Esmoris Pena
Version
1.0
Template Parameters
InputTypeThe input type to be used by the expression tree
OutputTypeThe output type produced by evaluation the expression tree
See also
IBinaryTreeNode

Member Function Documentation

◆ eval()

template<typename InputType , typename OutputType >
virtual OutputType IExprTreeNode< InputType, OutputType >::eval ( InputType const  x) const
pure virtual

Evaluate the given node. In doing so, children nodes will be evaluated if necessary.

Parameters
xThe variable \(x\) for the evaluation of the expression tree
Returns
Result obtained after evaluating the node

Implemented in UnivarExprTreeNode< NumericType >.


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