A unary operator in the rule language. More...
#include <RuleBasedProgramTree.h>
Public Types | |
enum | Operator { NOT } |
Enum of all unary operators. | |
Public Member Functions | |
UnaryOperator (Operator op, std::shared_ptr< Expression > child) | |
Constructs an UnaryOperator. | |
Type | getType () const override |
void | generateCode (CodeGenerationContext &context, RuleVM::Program &program) const override |
Generates code for evaluating this expression at runtime. | |
![]() | |
virtual | ~Expression ()=default |
Virtual default constructor. | |
virtual Type | getType () const =0 |
virtual void | generateCode (CodeGenerationContext &context, RuleVM::Program &program) const =0 |
Generates code for evaluating this expression at runtime. | |
Public Attributes | |
std::shared_ptr< Expression > | child |
Subexpression of unary operator. | |
Operator | op |
Unary operator to apply. | |
A unary operator in the rule language.
autopas::RuleSyntax::UnaryOperator::UnaryOperator | ( | UnaryOperator::Operator | op, |
std::shared_ptr< Expression > | child | ||
) |
Constructs an UnaryOperator.
op | |
child |
|
overridevirtual |
Generates code for evaluating this expression at runtime.
Value is put on top of the stack. May consume part of the stack.
context | The context to generate the code in. |
program | The program to append the code to. |
Implements autopas::RuleSyntax::Expression.
|
overridevirtual |
Implements autopas::RuleSyntax::Expression.