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

Unary operators. More...

#include <ltlast/unop.hh>

Inheritance diagram for spot::ltl::unop:

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

Collaboration graph
[legend]
List of all members.

Public Types

enum  type { Not, X, F, G }

Public Member Functions

virtual void accept (visitor &v)
 Entry point for vspot::ltl::visitor instances.
virtual void accept (const_visitor &v) const
 Entry point for vspot::ltl::const_visitor instances.
const formulachild () const
 Get the sole operand of this operator.
formulachild ()
 Get the sole operand of this operator.
type op () const
 Get the type of this operator.
const char * op_name () const
 Get the type of this operator, as a string.
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 unopinstance (type op, formula *child)
static unsigned instance_count ()
 Number of instantiated unary operators. For debugging.
static void unref (formula *f)
 release this node

Protected Types

typedef std::pair< type, formula * > pair
typedef std::map< pair, formula * > map

Protected Member Functions

 unop (type op, formula *child)
virtual ~unop ()
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

type op_
formulachild_

Detailed Description

Unary operators.


Member Typedef Documentation

typedef std::pair<type, formula*> spot::ltl::unop::pair [protected]

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


Member Enumeration Documentation

enum spot::ltl::unop::type

Enumerator:
Not 
X 
F 
G 


Constructor & Destructor Documentation

spot::ltl::unop::unop ( type  op,
formula child 
) [protected]

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


Member Function Documentation

static unop* spot::ltl::unop::instance ( type  op,
formula child 
) [static]

Build an unary operator with operation op and child child.

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

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

Implements spot::ltl::formula.

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

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

Implements spot::ltl::formula.

const formula* spot::ltl::unop::child (  )  const

Get the sole operand of this operator.

formula* spot::ltl::unop::child (  ) 

Get the sole operand of this operator.

type spot::ltl::unop::op (  )  const

Get the type of this operator.

const char* spot::ltl::unop::op_name (  )  const

Get the type of this operator, as a string.

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

Number of instantiated unary operators. 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::unop::instances [static, protected]

type spot::ltl::unop::op_ [private]

formula* spot::ltl::unop::child_ [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:15:02 2007 for spot by doxygen 1.5.2