Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

spot::ltl::ref_formula Class Reference

A reference-counted LTL formula. More...

#include <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.

formularef ()
 clone this node


Static Public Member Functions

void unref (formula *f)
 release this node


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.


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

formula* spot::ltl::formula::ref  )  [inherited]
 

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.

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.

void spot::ltl::formula::unref formula f  )  [static, inherited]
 

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.

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

unsigned spot::ltl::ref_formula::ref_counter_ [private]
 


The documentation for this class was generated from the following file:
Generated on Tue Jun 29 17:02:21 2004 for spot by doxygen 1.3.7