spot::ltl::ref_formula Class Reference
[LTL Abstract Syntax Tree]

A reference-counted LTL formula. More...

#include <ltlast/refformula.hh>

Inheritance diagram for spot::ltl::ref_formula:
Inheritance graph
[legend]
Collaboration diagram for spot::ltl::ref_formula:
Collaboration graph
[legend]

List of all members.

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.
formulaclone () 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_

Detailed Description

A reference-counted LTL formula.


Constructor & Destructor Documentation

virtual spot::ltl::ref_formula::~ref_formula (  )  [protected, virtual]
spot::ltl::ref_formula::ref_formula (  )  [protected]

Member Function Documentation

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::atomic_prop, spot::ltl::automatop, spot::ltl::binop, spot::ltl::constant, spot::ltl::multop, and spot::ltl::unop.

virtual void spot::ltl::formula::accept ( visitor v  )  [pure virtual, inherited]

Entry point for vspot::ltl::visitor instances.

Implemented in spot::ltl::atomic_prop, spot::ltl::automatop, spot::ltl::binop, spot::ltl::constant, spot::ltl::multop, and spot::ltl::unop.

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::atomic_prop, spot::ltl::automatop, spot::ltl::binop, spot::ltl::constant, spot::ltl::multop, and spot::ltl::unop.

size_t spot::ltl::formula::hash (  )  const [inline, inherited]

Return a hash key for the formula.

References spot::ltl::formula::count_.

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.


Member Data Documentation

size_t spot::ltl::formula::count_ [protected, inherited]

The hash key of this formula.

Referenced by spot::ltl::formula::hash().


The documentation for this class was generated from the following file:

Please comment this page and report errors about it on the RefDocComments page.
Generated on Fri Apr 16 09:44:04 2010 for spot by doxygen 1.6.3