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

Atomic propositions. More...

#include <ltlast/atomic_prop.hh>

Inheritance diagram for spot::ltl::atomic_prop:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void accept (visitor &visitor)
 Entry point for vspot::ltl::visitor instances.
virtual void accept (const_visitor &visitor) const
 Entry point for vspot::ltl::const_visitor instances.
const std::string & name () const
 Get the name of the atomic proposition.
environmentenv () const
 Get the environment of the atomic proposition.
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 atomic_propinstance (const std::string &name, environment &env)
static unsigned instance_count ()
 Number of instantiated atomic propositions. For debugging.
static std::ostream & dump_instances (std::ostream &os)
 List all instances of atomic propositions. For debugging.
static void unref (formula *f)
 release this node

Protected Types

typedef std::pair< std::string,
environment * > 
pair
typedef std::map< pair, atomic_prop * > map

Protected Member Functions

 atomic_prop (const std::string &name, environment &env)
virtual ~atomic_prop ()
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.
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.

Static Protected Attributes

static map instances

Private Attributes

std::string name_
environmentenv_

Detailed Description

Atomic propositions.


Member Typedef Documentation

typedef std::pair<std::string, environment*> spot::ltl::atomic_prop::pair [protected]

typedef std::map<pair, atomic_prop*> spot::ltl::atomic_prop::map [protected]


Constructor & Destructor Documentation

spot::ltl::atomic_prop::atomic_prop ( const std::string &  name,
environment env 
) [protected]

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


Member Function Documentation

static atomic_prop* spot::ltl::atomic_prop::instance ( const std::string &  name,
environment env 
) [static]

Build an atomic proposition with name name in environment env.

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

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

Implements spot::ltl::formula.

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

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

Implements spot::ltl::formula.

const std::string& spot::ltl::atomic_prop::name (  )  const

Get the name of the atomic proposition.

environment& spot::ltl::atomic_prop::env (  )  const

Get the environment of the atomic proposition.

static unsigned spot::ltl::atomic_prop::instance_count (  )  [static]

Number of instantiated atomic propositions. For debugging.

static std::ostream& spot::ltl::atomic_prop::dump_instances ( std::ostream &  os  )  [static]

List all instances of atomic propositions. For debugging.

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

increment reference counter if any

Reimplemented from spot::ltl::formula.

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

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

Reimplemented from spot::ltl::formula.

unsigned spot::ltl::ref_formula::ref_count_ (  )  [protected, inherited]

Number of references to this formula.

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.

static 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.

const std::string& spot::ltl::formula::dump (  )  const [inherited]

Return a canonic representation of the formula.

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

Return a hash_key for the formula.

void spot::ltl::formula::set_key_ (  )  [protected, inherited]

Compute key_ from dump_.

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


Member Data Documentation

map spot::ltl::atomic_prop::instances [static, protected]

std::string spot::ltl::atomic_prop::name_ [private]

environment* spot::ltl::atomic_prop::env_ [private]

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

The canonic representation of the formula.

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

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 Tue Jul 17 15:14:59 2007 for spot by doxygen 1.5.2