#include <binop.hh>
Inheritance diagram for spot::ltl::binop:
Public Types | |
enum | type { Xor, Implies, Equiv, U, R } |
Public Member Functions | |
virtual void | accept (visitor &v) |
Entry point for vspot::ltl::visitor instances. | |
virtual void | accept (const_visitor &v) const |
Entry point for vspot::ltl::const_visitor instances. | |
const formula * | first () const |
Get the first operand. | |
formula * | first () |
Get the first operand. | |
const formula * | second () const |
Get the second operand. | |
formula * | second () |
Get the second operand. | |
type | op () const |
Get the type of this operator. | |
const char * | op_name () const |
Get the type of this operator, as a string. | |
formula * | ref () |
clone this node | |
Static Public Member Functions | |
binop * | instance (type op, formula *first, formula *second) |
unsigned | instance_count () |
Number of instantiated binary operators. For debugging. | |
void | unref (formula *f) |
release this node | |
Protected Types | |
typedef std::pair< formula *, formula * > | pairf |
typedef std::pair< type, pairf > | pair |
typedef std::map< pair, formula * > | map |
Protected Member Functions | |
binop (type op, formula *first, formula *second) | |
virtual | ~binop () |
void | ref_ () |
increment reference counter if any | |
bool | unref_ () |
decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0). | |
unsigned | ref_count_ () |
Number of references to this formula. | |
Static Protected Attributes | |
map | instances |
Private Attributes | |
type | op_ |
formula * | first_ |
formula * | second_ |
|
|
|
|
|
|
|
Different kinds of binary opertaors And and Or are not here. Because they are often nested we represent them as multops. |
|
|
|
|
|
Entry point for vspot::ltl::const_visitor instances.
Implements spot::ltl::formula. |
|
Entry point for vspot::ltl::visitor instances.
Implements spot::ltl::formula. |
|
Get the first operand.
|
|
Get the first operand.
|
|
Build an unary operator with operation op and children first and second. |
|
Number of instantiated binary operators. For debugging.
|
|
Get the type of this operator.
|
|
Get the type of this operator, as a string.
|
|
clone this node This increments the reference counter of this node (if one is used). You should almost never use this method directly as it doesn't touch the children. If you want to clone a whole formula, use spot::ltl::clone() instead. |
|
increment reference counter if any
Reimplemented from spot::ltl::formula. |
|
Number of references to this formula.
|
|
Get the second operand.
|
|
Get the second operand.
|
|
release this node This decrements the reference counter of this node (if one is used) and can free the object. You should almost never use this method directly as it doesn't touch the children. If you want to release a whole formula, use spot::ltl::destroy() instead. |
|
decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0).
Reimplemented from spot::ltl::formula. |
|
|
|
|
|
|
|
|