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

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

An LTL formula. More...

#include <ltlast/formula.hh>

Inheritance diagram for spot::ltl::formula:

Inheritance 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
const std::string & dump () const
 Return a canonic representation of the formula.
const size_t hash () const
 Return a hash_key for the formula.

Static Public Member Functions

static void unref (formula *f)
 release this node

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).
void set_key_ ()
 Compute key_ from dump_.

Protected Attributes

std::string dump_
 The canonic representation of the formula.
size_t hash_key_
 The hash key of this formula.

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 const_visitor v  )  const [pure virtual]
 

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]
 

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.

const std::string& spot::ltl::formula::dump  )  const
 

Return a canonic representation of the formula.

const size_t spot::ltl::formula::hash  )  const [inline]
 

Return a hash_key for the formula.

formula* spot::ltl::formula::ref  ) 
 

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.

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

increment reference counter if any

Reimplemented in spot::ltl::ref_formula.

void spot::ltl::formula::set_key_  )  [protected]
 

Compute key_ from dump_.

Should be called once in each object, after dump_ has been set.

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

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.

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

std::string spot::ltl::formula::dump_ [protected]
 

The canonic representation of the formula.

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

The hash key of this formula.

Initialized by set_key_().


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 Jan 31 12:56:08 2005 for spot by doxygen 1.4.0