Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes

spot::ltl::formula Class Reference
[Essential LTL typesLTL Abstract Syntax Tree]

An LTL formula.The only way you can work with a formula is to build a spot::ltl::visitor or spot::ltl::const_visitor. More...

#include <ltlast/formula.hh>

Inheritance diagram for spot::ltl::formula:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 formula ()
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 ~formula ()
virtual void ref_ ()
 increment reference counter if any
virtual bool unref_ ()
 decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0).

Protected Attributes

size_t count_
 The hash key of this formula.

Static Private Attributes

static size_t max_count
 Number of formulae created so far.

Detailed Description

An LTL formula.

The only way you can work with a formula is to build a spot::ltl::visitor or spot::ltl::const_visitor.


Constructor & Destructor Documentation

spot::ltl::formula::formula (  )  [inline]
virtual spot::ltl::formula::~formula (  )  [protected, virtual]

Member Function Documentation

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

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.

virtual void spot::ltl::formula::accept ( const_visitor v  )  const [pure virtual]

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.

formula* spot::ltl::formula::clone (  )  const

clone this node

This increments the reference counter of this node (if one is used).

void spot::ltl::formula::destroy (  )  const

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]
size_t spot::ltl::formula::hash (  )  const [inline]

Return a hash key for the formula.

References count_.

Referenced by spot::ltl::formula_ptr_hash::operator()(), and spot::ltl::formula_ptr_less_than::operator()().

virtual void spot::ltl::formula::ref_ (  )  [protected, virtual]

increment reference counter if any

Reimplemented in spot::ltl::ref_formula.

virtual bool spot::ltl::formula::unref_ (  )  [protected, virtual]

decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0).

Reimplemented in spot::ltl::ref_formula.


Member Data Documentation

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

The hash key of this formula.

Referenced by hash().

size_t spot::ltl::formula::max_count [static, private]

Number of formulae created so far.


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 Mon Feb 7 2011 14:29:31 for spot by doxygen 1.7.1