spot
0.8.1
|
Unary operators. More...
#include <ltlast/unop.hh>
Public Types | |
enum | type { Not, X, F, G, Finish } |
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 * | child () const |
Get the sole operand of this operator. | |
formula * | child () |
Get the sole operand of this operator. | |
type | op () const |
Get the type of this operator. | |
const char * | op_name () const |
Get the type of this operator, as a string. | |
virtual std::string | dump () const |
Return a canonic representation of the atomic proposition. | |
formula * | clone () const |
clone this node | |
void | destroy () const |
release this node | |
size_t | hash () const |
Return a hash key for the formula. | |
Static Public Member Functions | |
static unop * | instance (type op, formula *child) |
static unsigned | instance_count () |
Number of instantiated unary operators. For debugging. | |
static std::ostream & | dump_instances (std::ostream &os) |
Dump all instances. For debugging. | |
Protected Types | |
typedef std::pair< type, formula * > | pair |
typedef std::map< pair, unop * > | map |
Protected Member Functions | |
unop (type op, formula *child) | |
virtual | ~unop () |
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. | |
Protected Attributes | |
size_t | count_ |
The hash key of this formula. | |
Static Protected Attributes | |
static map | instances |
Private Attributes | |
type | op_ |
formula * | child_ |
Unary operators.
typedef std::map<pair, unop*> spot::ltl::unop::map [protected] |
typedef std::pair<type, formula*> spot::ltl::unop::pair [protected] |
spot::ltl::unop::unop | ( | type | op, |
formula * | child | ||
) | [protected] |
virtual spot::ltl::unop::~unop | ( | ) | [protected, virtual] |
virtual void spot::ltl::unop::accept | ( | visitor & | v | ) | [virtual] |
Entry point for vspot::ltl::visitor instances.
Implements spot::ltl::formula.
virtual void spot::ltl::unop::accept | ( | const_visitor & | v | ) | const [virtual] |
Entry point for vspot::ltl::const_visitor instances.
Implements spot::ltl::formula.
const formula* spot::ltl::unop::child | ( | ) | const |
Get the sole operand of this operator.
Get the sole operand of this operator.
formula* spot::ltl::formula::clone | ( | ) | const [inherited] |
clone this node
This increments the reference counter of this node (if one is used).
void spot::ltl::formula::destroy | ( | ) | const [inherited] |
release this node
This decrements the reference counter of this node (if one is used) and can free the object.
Referenced by spot::taa_tgba_labelled< std::string, string_hash >::add_acceptance_condition(), and spot::tgba_explicit_labelled< std::string, string_hash >::declare_acceptance_condition().
virtual std::string spot::ltl::unop::dump | ( | ) | const [virtual] |
Return a canonic representation of the atomic proposition.
Implements spot::ltl::formula.
static std::ostream& spot::ltl::unop::dump_instances | ( | std::ostream & | os | ) | [static] |
Dump all instances. For debugging.
size_t spot::ltl::formula::hash | ( | ) | const [inline, inherited] |
Return a hash key for the formula.
References spot::ltl::formula::count_.
Referenced by spot::ltl::formula_ptr_less_than::operator()(), and spot::ltl::formula_ptr_hash::operator()().
static unop* spot::ltl::unop::instance | ( | type | op, |
formula * | child | ||
) | [static] |
Build an unary operator with operation op and child child.
static unsigned spot::ltl::unop::instance_count | ( | ) | [static] |
Number of instantiated unary operators. For debugging.
type spot::ltl::unop::op | ( | ) | const |
Get the type of this operator.
const char* spot::ltl::unop::op_name | ( | ) | const |
Get the type of this operator, as a string.
void spot::ltl::ref_formula::ref_ | ( | ) | [protected, virtual, inherited] |
increment reference counter if any
Reimplemented from spot::ltl::formula.
unsigned spot::ltl::ref_formula::ref_count_ | ( | ) | [protected, inherited] |
Number of references to this formula.
bool spot::ltl::ref_formula::unref_ | ( | ) | [protected, virtual, inherited] |
decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0).
Reimplemented from spot::ltl::formula.
formula* spot::ltl::unop::child_ [private] |
size_t spot::ltl::formula::count_ [protected, inherited] |
The hash key of this formula.
Referenced by spot::ltl::formula::hash().
map spot::ltl::unop::instances [static, protected] |
type spot::ltl::unop::op_ [private] |