spot  0.8.1
Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes
spot::ltl::formula Class Reference

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

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::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]

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.

clone this node

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

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_less_than::operator()(), and spot::ltl::formula_ptr_hash::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 Sun Dec 18 2011 12:57:16 for spot by doxygen 1.7.6.1