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

spot::ltl::unop Class Reference

Unary operator. More...

#include <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


Static Public Member Functions

unopinstance (type op, formula *child)
unsigned instance_count ()
 Number of instantiated unary operators. For debugging.

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


Static Protected Attributes

map instances

Private Attributes

type op_
formulachild_

Detailed Description

Unary operator.


Member Typedef Documentation

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

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


Member Enumeration Documentation

enum spot::ltl::unop::type
 

Enumeration values:
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

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

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

Implements spot::ltl::formula.

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

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

Implements spot::ltl::formula.

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

Get the sole operand of this operator.

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

Get the sole operand of this operator.

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

Build an unary operator with operation op and child child.

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

Number of instantiated unary operators. For debugging.

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.

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.

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

increment reference counter if any

Reimplemented from spot::ltl::formula.

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.

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.


Member Data Documentation

formula* spot::ltl::unop::child_ [private]
 

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

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


The documentation for this class was generated from the following file:
Generated on Tue Jan 13 18:22:55 2004 for spot by doxygen 1.3.5