An operation with two operands. More...
#include <BinaryOperation.h>
Public Types | |
enum | Operator { Add, Prefix, ScalarAdd, Invalid, And, Or, Xor, Equal, NotEqual } |
Public Member Functions | |
Operator | getOp () const |
const Expression & | getLHS () const |
const Expression & | getRHS () const |
virtual void | PrettyPrint (Bytestream &, size_t indent=0) const override |
Print a human-readable representation to an output stream and return that output stream. | |
virtual void | Accept (Visitor &) const |
virtual dag::ValuePtr | evaluate (EvalContext &) const override |
Public Member Functions inherited from fabrique::HasSource | |
HasSource (const SourceRange &src) | |
const SourceRange & | source () const |
Public Member Functions inherited from fabrique::Printable | |
Printable (const Printable &) | |
Printable & | operator= (const Printable &) |
virtual std::string | str () const |
Public Member Functions inherited from fabrique::Visitable< Visitor > | |
virtual void | Accept (Visitor &) const =0 |
Public Member Functions inherited from fabrique::Typed | |
Typed (const Type &t) | |
virtual const Type & | type () const |
Static Public Member Functions | |
static Operator | Op (const std::string &) |
static std::string | OpStr (Operator) |
static BinaryOperation * | Create (UniqPtr< Expression > &&, Operator, UniqPtr< Expression > &&) |
Additional Inherited Members | |
Protected Member Functions inherited from fabrique::ast::Expression | |
Expression (const Type &t, const SourceRange &src) | |
Protected Member Functions inherited from fabrique::ast::Node | |
Node (const SourceRange &src) | |
An operation with two operands.
Definition at line 49 of file BinaryOperation.h.