AEBinaryRelationalExpr Class Reference

An abstract base class for all relational operations that take two relational operands. More...

Inherits AEBinaryExprT< AERelationalExpr, AERelationalExpr >.

Inherited by AECrossJoin, AEJoin, and AESetOperation.

List of all members.

Public Member Functions

virtual AEBinaryRelationalExprClone () const =0
 Creates a clone of this node object.
virtual const
AEBinaryRelationalExpr
GetAsBinaryRelationalExpr () const
 Get the object as an AEBinaryRelationalExpr object.
virtual AEBinaryRelationalExprGetAsBinaryRelationalExpr ()
 Get the object as an AEBinaryRelationalExpr object.
virtual bool IsBinaryRelationalExpr () const
 Tests whether this is an AEBinaryRelationalExpr object.
virtual ~AEBinaryRelationalExpr ()
 Destructor.

Protected Member Functions

 AEBinaryRelationalExpr (const AEBinaryRelationalExpr &in_other)
 Copy constructor.
 AEBinaryRelationalExpr (AutoPtr< AERelationalExpr > in_leftOperand, AutoPtr< AERelationalExpr > in_rightOperand)
 Constructor.
 AEBinaryRelationalExpr ()
 Default constructor.

Detailed Description

An abstract base class for all relational operations that take two relational operands.

Please note that a derived relational operation may have other nodes other than the two relational operands. For example, a join operation will have a join condition node.

Sample binary relational expressions are UNION, CROSS JOIN, and etc.


Constructor & Destructor Documentation

virtual ~AEBinaryRelationalExpr (  )  [inline, virtual]

Destructor.

AEBinaryRelationalExpr (  )  [inline, protected]

Default constructor.

AEBinaryRelationalExpr ( AutoPtr< AERelationalExpr in_leftOperand,
AutoPtr< AERelationalExpr in_rightOperand 
) [inline, protected]

Constructor.

Parameters:
in_leftOperand The left operand.
in_rightOperand The right operand.
Exceptions:
SEInvalidArgumentException when either of the operands does not own an object.
AEBinaryRelationalExpr ( const AEBinaryRelationalExpr in_other  )  [inline, protected]

Copy constructor.

To support "cloning". See Clone() method.

Parameters:
in_other The other node to create copy from.

Member Function Documentation

virtual AEBinaryRelationalExpr* Clone (  )  const [pure virtual]

Creates a clone of this node object.

Returns:
A clone of this node object. (OWN)

Implements AERelationalExpr.

Implemented in AECrossJoin, AEExcept, AEIntersect, AEJoin, AESetOperation, and AEUnion.

virtual const AEBinaryRelationalExpr* GetAsBinaryRelationalExpr (  )  const [inline, virtual]

Get the object as an AEBinaryRelationalExpr object.

This overrides the method defined in AERelationalExpr. Sub-classes of this class should not override it again.

Returns:
This object always.

Reimplemented from AERelationalExpr.

virtual AEBinaryRelationalExpr* GetAsBinaryRelationalExpr (  )  [inline, virtual]

Get the object as an AEBinaryRelationalExpr object.

This overrides the method defined in AERelationalExpr. Sub-classes of this class should not override it again.

Returns:
This object always.

Reimplemented from AERelationalExpr.

virtual bool IsBinaryRelationalExpr (  )  const [inline, virtual]

Tests whether this is an AEBinaryRelationalExpr object.

This overrides the method defined in AERelationalExpr. Sub-classes of this class should not override it again.

Returns:
True always since this is an AEBinaryRelationalExpr object.

Reimplemented from AERelationalExpr.


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

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