Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::BinaryExpressionImpl Class Reference

Implementation of a binary expression. More...

#include <arcane/core/expr/BinaryExpressionImpl.h>

Inheritance diagram for Arcane::BinaryExpressionImpl:
Collaboration diagram for Arcane::BinaryExpressionImpl:

Public Types

enum  eOperationType {
  Add = 0 , Substract , Multiply , Divide ,
  Minimum , Maximum , Pow , LessThan ,
  GreaterThan , LessOrEqualThan , GreaterOrEqualThan , Or ,
  And , Equal , NbOperationType
}

Public Member Functions

 BinaryExpressionImpl (IExpressionImpl *first, IExpressionImpl *second, eOperationType operation)
virtual void assign (IExpressionImpl *)
virtual void assign (IExpressionImpl *, IntegerConstArrayView)
virtual void apply (ExpressionResult *result)
virtual Integer vectorSize () const
 Number of elements in the vector.
String operationName () const
Public Member Functions inherited from Arcane::ExpressionImpl
virtual void addRef ()
virtual void removeRef ()
virtual void setTrace (bool v)
virtual void dumpIf (IExpressionImpl *test_expr, Array< Expression > &exprs)

Static Public Member Functions

static String operationName (eOperationType type)

Private Attributes

Expression m_first
Expression m_second
eOperationType m_operation

Additional Inherited Members

Protected Member Functions inherited from Arcane::ExpressionImpl
bool isTraceMode () const
Protected Member Functions inherited from Arcane::IExpressionImpl
virtual ~IExpressionImpl ()
 Releases resources. Only called by a removeRef().
Protected Attributes inherited from Arcane::ExpressionImpl
OperatorMngm_op_mng

Detailed Description

Implementation of a binary expression.

Definition at line 39 of file BinaryExpressionImpl.h.

Member Enumeration Documentation

◆ eOperationType

enum Arcane::BinaryExpressionImpl::eOperationType

Definition at line 44 of file BinaryExpressionImpl.h.

Constructor & Destructor Documentation

◆ BinaryExpressionImpl()

Arcane::BinaryExpressionImpl::BinaryExpressionImpl ( IExpressionImpl * first,
IExpressionImpl * second,
eOperationType operation )

Definition at line 29 of file BinaryExpressionImpl.cc.

Member Function Documentation

◆ apply()

void Arcane::BinaryExpressionImpl::apply ( ExpressionResult * result)
virtual

Implements Arcane::IExpressionImpl.

Definition at line 76 of file BinaryExpressionImpl.cc.

◆ assign() [1/2]

virtual void Arcane::BinaryExpressionImpl::assign ( IExpressionImpl * )
inlinevirtual

Implements Arcane::IExpressionImpl.

Definition at line 71 of file BinaryExpressionImpl.h.

◆ assign() [2/2]

virtual void Arcane::BinaryExpressionImpl::assign ( IExpressionImpl * ,
IntegerConstArrayView  )
inlinevirtual

Implements Arcane::IExpressionImpl.

Definition at line 72 of file BinaryExpressionImpl.h.

◆ operationName() [1/2]

String Arcane::BinaryExpressionImpl::operationName ( ) const
inline

Definition at line 75 of file BinaryExpressionImpl.h.

◆ operationName() [2/2]

String Arcane::BinaryExpressionImpl::operationName ( eOperationType type)
static

Definition at line 42 of file BinaryExpressionImpl.cc.

◆ vectorSize()

virtual Integer Arcane::BinaryExpressionImpl::vectorSize ( ) const
inlinevirtual

Number of elements in the vector.

If the expression is a vector and a terminal symbol (a leaf), it returns its number of elements. Otherwise, it returns 0.

Implements Arcane::IExpressionImpl.

Definition at line 74 of file BinaryExpressionImpl.h.

Member Data Documentation

◆ m_first

Expression Arcane::BinaryExpressionImpl::m_first
private

Definition at line 80 of file BinaryExpressionImpl.h.

◆ m_operation

eOperationType Arcane::BinaryExpressionImpl::m_operation
private

Definition at line 82 of file BinaryExpressionImpl.h.

◆ m_second

Expression Arcane::BinaryExpressionImpl::m_second
private

Definition at line 81 of file BinaryExpressionImpl.h.


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