#include <space.h>
Inheritance diagram for gbdd::Space:

Public Types | |
| typedef Domain::Var | Var |
| typedef unsigned long int | Bdd |
| typedef BinaryFunction< bool, bool, bool > | ProductFunction |
| typedef UnaryFunction< bool, bool > | UnaryProductFunction |
| typedef UnaryFunction< Var, bool > | VarPredicate |
| typedef Domain::VarMap | VarMap |
Public Member Functions | |
| virtual | ~Space () |
| virtual void | gc ()=0 |
| Garbage collect space. | |
| virtual void | lock_gc () |
| Prevent garbage collection. | |
| virtual void | unlock_gc () |
| Unprevent garbate collection. | |
| virtual void | bdd_ref (Bdd p)=0 |
| Reference BDD. | |
| virtual void | bdd_unref (Bdd p)=0 |
| Unreference BDD. | |
| virtual bool | bdd_is_leaf (Bdd p)=0 |
| Test for leaf. | |
| virtual bool | bdd_leaf_value (Bdd p)=0 |
| Get leaf value. | |
| virtual Bdd | bdd_then (Bdd p)=0 |
| Get then-branch. | |
| virtual Bdd | bdd_else (Bdd p)=0 |
| Get else-branch. | |
| virtual Var | bdd_var (Bdd p)=0 |
| Get variable of internal node. | |
| virtual Bdd | bdd_leaf (bool v)=0 |
| Construct leaf node. | |
| Bdd | bdd_true () |
| Construct true node. | |
| Bdd | bdd_false () |
| Construct false node. | |
| virtual Bdd | bdd_var_true (Var v)=0 |
| Construct Bdd node for a variable being true. | |
| virtual Bdd | bdd_var_false (Var v)=0 |
| Construct Bdd node for a variable being false. | |
| virtual Bdd | bdd_var_then_else (Var v, Bdd p_then, Bdd p_else)=0 |
| Construct an internal node. | |
| virtual Var | bdd_highest_var (Bdd p) |
| Find highest variable in BDD. | |
| virtual Bdd | bdd_project (Bdd p, VarPredicate &fn_var, ProductFunction &fn_prod)=0 |
| Project BDD. | |
| virtual Bdd | bdd_rename (Bdd p, const VarMap &fn)=0 |
| Rename BDD. | |
| virtual Bdd | bdd_product (Bdd p, Bdd q, ProductFunction &fn)=0 |
| BDD product. | |
| virtual Bdd | bdd_product (Bdd p, UnaryProductFunction &fn)=0 |
| BDD unary product. | |
| template<class _VarPredicate, class _ProductFunction> Bdd | bdd_project (Bdd p, _VarPredicate fn_var, _ProductFunction fn_prod) |
| Project BDD. | |
| template<class _ProductFunction> Bdd | bdd_product (Bdd p, Bdd q, _ProductFunction fn) |
| BDD product. | |
| template<class _UnaryProductFunction> Bdd | bdd_product (Bdd p, _UnaryProductFunction fn) |
| BDD unary product. | |
| virtual void | bdd_print (ostream &os, Bdd p)=0 |
| virtual unsigned int | get_n_nodes (void) const |
| Get number of nodes in Space. | |
Static Public Member Functions | |
| Space * | create_default (bool diagnostics=false) |
|
|
An identity of a BDD |
|
|
|
|
|
|
|
|
A variable in a BDD |
|
|
|
|
|
|
|
|
|
|
|
Get else-branch.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Construct false node.
|
|
|
Find highest variable in BDD.
Reimplemented in gbdd::BuddySpace, and gbdd::MutexSpace. |
|
|
Test for leaf.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Construct leaf node.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Get leaf value.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
||||||||||||
|
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
||||||||||||||||
|
BDD unary product.
|
|
||||||||||||||||||||
|
BDD product.
|
|
||||||||||||
|
BDD unary product.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
||||||||||||||||
|
BDD product.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
||||||||||||||||||||
|
Project BDD.
|
|
||||||||||||||||
|
Project BDD.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Reference BDD. Increases reference count of p
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
||||||||||||
|
Rename BDD.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Get then-branch.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Construct true node.
|
|
|
Unreference BDD. Decreases reference count of p
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Get variable of internal node.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Construct Bdd node for a variable being false.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
||||||||||||||||
|
Construct an internal node.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Construct Bdd node for a variable being true.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
|
|
|
Garbage collect space.
Implemented in gbdd::BuddySpace, gbdd::GSpace, and gbdd::MutexSpace. |
|
|
Get number of nodes in Space. To be sure not to get dead nodes in the count, you have to lock the space and do a garbage collection before calling this
Reimplemented in gbdd::BuddySpace, and gbdd::MutexSpace. |
|
|
Prevent garbage collection.
Reimplemented in gbdd::MutexSpace. |
|
|
Unprevent garbate collection.
Reimplemented in gbdd::MutexSpace. |
1.3.6