My Project
Loading...
Searching...
No Matches
Opm::Action::AST Class Reference

Expression evaluation tree of a full ACTIONX condition block. More...

#include <ActionAST.hpp>

Public Member Functions

 AST ()
 Default constructor.
 
 AST (const std::vector< std::string > &tokens)
 Constructor.
 
 ~AST ()
 Destructor.
 
 AST (const AST &rhs)
 Copy constructor.
 
 AST (AST &&rhs)
 Move constructor.
 
ASToperator= (const AST &rhs)
 Assignment operator.
 
ASToperator= (AST &&rhs)
 Move assignment operator.
 
Result eval (const Context &context) const
 Evaluate the expression tree at current dynamic state.
 
bool operator== (const AST &data) const
 Equality predicate.
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 Convert between byte array and object representation.
 
void required_summary (std::unordered_set< std::string > &required_summary) const
 Export all summary vectors needed to evaluate the expression tree.
 

Static Public Member Functions

static AST serializationTestObject ()
 Create a serialisation test object.
 

Detailed Description

Expression evaluation tree of a full ACTIONX condition block.

There is no additional context such as current summary vector values or a set of active wells. This must be supplied through an Action::Context instace when invoking the eval() member function.

Constructor & Destructor Documentation

◆ AST() [1/4]

Opm::Action::AST::AST ( )
default

Default constructor.

Creates an empty object with no internal condition. Mostly useful as a target for an object deserialisation process.

◆ AST() [2/4]

Opm::Action::AST::AST ( const std::vector< std::string > &  tokens)
explicit

Constructor.

Forms the internal expression tree by parsing a sequence of text tokens.

Parameters
[in]tokensTokenised textual representation of an ACTIONX condition block.

◆ AST() [3/4]

Opm::Action::AST::AST ( const AST rhs)

Copy constructor.

Parameters
[in]rhsSource object.

◆ AST() [4/4]

Opm::Action::AST::AST ( AST &&  rhs)

Move constructor.

Parameters
[in,out]rhsSource object. In a valid but unspecified state on exit.

Member Function Documentation

◆ eval()

Opm::Action::Result Opm::Action::AST::eval ( const Context context) const

Evaluate the expression tree at current dynamic state.

Parameters
[in]contextCurrent summary vectors and wells
Returns
Condition value. A 'true' result means the condition is satisfied while a 'false' result means the condition is not satisfied. Any wells for which the expression is true will be included in the result set. A 'false' result has no matching wells.

◆ operator=() [1/2]

Opm::Action::AST & Opm::Action::AST::operator= ( AST &&  rhs)

Move assignment operator.

Parameters
[in,out]rhsSource object. In a valid but unspecified state on exit.
Returns
*this

◆ operator=() [2/2]

Opm::Action::AST & Opm::Action::AST::operator= ( const AST rhs)

Assignment operator.

Parameters
[in]rhsSource object.
Returns
*this

◆ operator==()

bool Opm::Action::AST::operator== ( const AST data) const

Equality predicate.

Parameters
[in]dataObject against which
*this
will be tested for equality.
Returns
Whether or not
*this
is the same as data.

◆ required_summary()

void Opm::Action::AST::required_summary ( std::unordered_set< std::string > &  required_summary) const

Export all summary vectors needed to evaluate the expression tree.

Parameters
[in,out]required_summaryNamed summary vectors. Upon completion, any additional summary vectors needed to evaluate the full condition block of the current AST object will be included in this set.

◆ serializeOp()

template<class Serializer >
void Opm::Action::AST::serializeOp ( Serializer serializer)
inline

Convert between byte array and object representation.

Template Parameters
SerializerByte array conversion protocol.
Parameters
[in,out]serializerByte array conversion object.

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