ETBinaryExprT< BaseNodeT, LOperandT, ROperandT, LOperandPtrT, ROperandPtrT > Class Template Reference

A template class that models an operation that takes two operands. More...

List of all members.

Public Member Functions

virtual ETNodeGetChild (simba_size_t in_index)
 Get a pointer reference to the specified child node.
virtual simba_size_t GetChildCount () const
 Returns the number of child nodes. In this case, it always returns 2.
LOperandT * GetLeftOperand ()
 Get a pointer reference to the left operand.
ROperandT * GetRightOperand ()
 Get a pointer reference to the right operand.
virtual ~ETBinaryExprT ()
 Destructor.

Protected Member Functions

 ETBinaryExprT (LOperandPtrT in_leftOperand, ROperandPtrT in_rightOperand)
 Constructor.

Protected Attributes

LOperandPtrT m_leftOperand
 The operand on the left side of the binary operation.
ROperandPtrT m_rightOperand
 The operand on the right side of the binary operation.

Detailed Description

template<typename BaseNodeT, typename LOperandT, typename ROperandT = LOperandT, typename LOperandPtrT = AutoPtr<LOperandT>, typename ROperandPtrT = AutoPtr<ROperandT>>
class Simba::SQLEngine::ETBinaryExprT< BaseNodeT, LOperandT, ROperandT, LOperandPtrT, ROperandPtrT >

A template class that models an operation that takes two operands.

Sample binary operations are SET UNION, NUMERIC ADDITION, NUMERIC MULTIPLY, BOOLEAN AND, and etc.

Parameters:
BaseNodeT The base class for this binary expression class. Must be ETNode or an ETNode-derived class.
LOperandT The left operand type.
ROperandT The right operand type.
LOperandPtrT The pointer type for the left operand. Must either be AutoPtr or SharedPtr.
ROperandPtrT The pointer type for the right operand. Must either be AutoPtr or SharedPtr.

Constructor & Destructor Documentation

virtual ~ETBinaryExprT (  )  [inline, virtual]

Destructor.

ETBinaryExprT ( LOperandPtrT  in_leftOperand,
ROperandPtrT  in_rightOperand 
) [inline, protected]

Constructor.

Parameters:
in_leftOperand The left operand.
in_rightOperand The right operand.
Exceptions:
SEInvalidArgumentException when either of the auto pointers does not own an operand object.

Member Function Documentation

virtual ETNode* GetChild ( simba_size_t  in_index  )  [inline, virtual]

Get a pointer reference to the specified child node.

The left operand is considered to be the child 0 and the right operand is considered to be the child 1.

This method is designed to override the method defined in BaseNodeT as seen in ETNode.

Parameters:
in_index A zero-based index.
Exceptions:
SEInvalidArgumentException when in_index is invalid.
Returns:
A pointer reference to the child node indexed by in_index. (NOT OWN)
virtual simba_size_t GetChildCount (  )  const [inline, virtual]

Returns the number of child nodes. In this case, it always returns 2.

This method is designed to override the method defined in BaseNodeT as seen in ETNode.

Returns:
The number of child nodes.
LOperandT* GetLeftOperand (  )  [inline]

Get a pointer reference to the left operand.

The caller of the method does not own the returned object.

Returns:
A pointer reference to the left operand. (NOT OWN)
ROperandT* GetRightOperand (  )  [inline]

Get a pointer reference to the right operand.

The caller of the method does not own the returned object.

Returns:
A pointer reference to the right operand. (NOT OWN)

Member Data Documentation

LOperandPtrT m_leftOperand [protected]

The operand on the left side of the binary operation.

ROperandPtrT m_rightOperand [protected]

The operand on the right side of the binary operation.


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

Generated on Wed May 17 14:21:18 2017 for SimbaEngine 10.1.3.1011 by simba