Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Public Member Functions
OOModel::BinaryOperation Class Reference
Inheritance diagram for OOModel::BinaryOperation:
Core::Reflect< Base >

Public Types

enum  OperatorTypes {
  TIMES , DIVIDE , REMAINDER , PLUS , MINUS , LEFT_SHIFT , RIGHT_SHIFT_SIGNED , RIGHT_SHIFT_UNSIGNED , LESS , GREATER , LESS_EQUALS , GREATER_EQUALS , EQUALS , NOT_EQUALS , XOR , AND , OR , CONDITIONAL_AND , CONDITIONAL_OR , ARRAY_INDEX ,
  POINTER_TO_MEMBER , POINTER_POINTER_TO_MEMBER
}
 

Public Member Functions

 BinaryOperation (OperatorTypes op, Expression *left=nullptr, Expression *right=nullptr)
 
OperatorTypes op () const
 
void setOp (const OperatorTypes &oper)
 
virtual std::unique_ptr< Typetype () override
 

Additional Inherited Members

- Protected Types inherited from Core::Reflect< Base >
using Super = Reflect< Base >
 

Member Enumeration Documentation

◆ OperatorTypes

Enumerator
TIMES 
DIVIDE 
REMAINDER 
PLUS 
MINUS 
LEFT_SHIFT 
RIGHT_SHIFT_SIGNED 
RIGHT_SHIFT_UNSIGNED 
LESS 
GREATER 
LESS_EQUALS 
GREATER_EQUALS 
EQUALS 
NOT_EQUALS 
XOR 
AND 
OR 
CONDITIONAL_AND 
CONDITIONAL_OR 
ARRAY_INDEX 
POINTER_TO_MEMBER 
POINTER_POINTER_TO_MEMBER 

Constructor & Destructor Documentation

◆ BinaryOperation()

OOModel::BinaryOperation::BinaryOperation ( OperatorTypes  op,
Expression left = nullptr,
Expression right = nullptr 
)

Member Function Documentation

◆ op()

BinaryOperation::OperatorTypes OOModel::BinaryOperation::op ( ) const
inline

◆ setOp()

void OOModel::BinaryOperation::setOp ( const OperatorTypes oper)
inline

◆ type()

std::unique_ptr< Type > OOModel::BinaryOperation::type ( )
overridevirtual