spot
0.8.3
|
A reference-counted LTL formula. More...
#include <ltlast/refformula.hh>
Public Member Functions | |
virtual void | accept (visitor &v)=0 |
Entry point for vspot::ltl::visitor instances. | |
virtual void | accept (const_visitor &v) const =0 |
Entry point for vspot::ltl::const_visitor instances. | |
formula * | clone () const |
clone this node | |
void | destroy () const |
release this node | |
virtual std::string | dump () const =0 |
Return a canonic representation of the formula. | |
size_t | hash () const |
Return a hash key for the formula. | |
Protected Member Functions | |
virtual | ~ref_formula () |
ref_formula () | |
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. | |
Private Attributes | |
unsigned | ref_counter_ |
A reference-counted LTL formula.
virtual spot::ltl::ref_formula::~ref_formula | ( | ) | [protected, virtual] |
spot::ltl::ref_formula::ref_formula | ( | ) | [protected] |
virtual void spot::ltl::formula::accept | ( | visitor & | v | ) | [pure virtual, inherited] |
Entry point for vspot::ltl::visitor instances.
Implemented in spot::ltl::multop, spot::ltl::binop, spot::ltl::automatop, spot::ltl::atomic_prop, spot::ltl::unop, and spot::ltl::constant.
virtual void spot::ltl::formula::accept | ( | const_visitor & | v | ) | const [pure virtual, inherited] |
Entry point for vspot::ltl::const_visitor instances.
Implemented in spot::ltl::multop, spot::ltl::binop, spot::ltl::automatop, spot::ltl::atomic_prop, spot::ltl::unop, and spot::ltl::constant.
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::formula::dump | ( | ) | const [pure virtual, inherited] |
Return a canonic representation of the formula.
Implemented in spot::ltl::multop, spot::ltl::binop, spot::ltl::automatop, spot::ltl::unop, spot::ltl::atomic_prop, and spot::ltl::constant.
Referenced by spot::ltl::formula_ptr_less_than::operator()().
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()().
void spot::ltl::ref_formula::ref_ | ( | ) | [protected, virtual] |
increment reference counter if any
Reimplemented from spot::ltl::formula.
unsigned spot::ltl::ref_formula::ref_count_ | ( | ) | [protected] |
Number of references to this formula.
bool spot::ltl::ref_formula::unref_ | ( | ) | [protected, virtual] |
decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0).
Reimplemented from spot::ltl::formula.
size_t spot::ltl::formula::count_ [protected, inherited] |
The hash key of this formula.
Referenced by spot::ltl::formula::hash().
unsigned spot::ltl::ref_formula::ref_counter_ [private] |