#include <misc/bddalloc.hh>
Inheritance diagram for spot::bdd_allocator:
Public Member Functions | |
bdd_allocator () | |
Default constructor. | |
int | allocate_variables (int n) |
Allocate n BDD variables. | |
void | release_variables (int base, int n) |
Release n BDD variables starting at base. | |
Static Public Member Functions | |
static void | initialize () |
Initialize the BDD library. | |
Protected Attributes | |
int | lvarnum |
number of variables in use in this allocator. | |
Static Protected Attributes | |
static bool | initialized |
Whether the BDD library has been initialized. | |
Private Types | |
typedef std::pair< int, int > | pos_lenght_pair |
Such pairs describe second free integer starting at first . | |
typedef std::list< pos_lenght_pair > | free_list_type |
Private Member Functions | |
void | extvarnum (int more) |
Require more variables. | |
virtual int | extend (int n) |
int | register_n (int n) |
Find n consecutive integers. | |
void | release_n (int base, int n) |
Release n consecutive integers starting at base. | |
std::ostream & | dump_free_list (std::ostream &os) const |
Dump the list to os for debugging. | |
void | insert (int base, int n) |
Extend the list by inserting a new pos-lenght pair. | |
void | remove (int base, int n=0) |
Remove n consecutive entries from the list, starting at base. | |
void | remove (free_list_type::iterator i, int base, int n) |
Remove n consecutive entries from the list, starting at base. | |
Private Attributes | |
free_list_type | fl |
Tracks unused BDD variables. |
|
|
|
Such pairs describe
|
|
Default constructor.
|
|
Allocate n BDD variables.
|
|
Dump the list to os for debugging.
|
|
Allocate n integer. This function is called by register_n() when the free list is empty or if n consecutive integers could not be found. It should allocate more integers, possibly changing the list, and return the first integer on a range of n consecutive integer requested by the user. Implements spot::free_list. |
|
Require more variables.
|
|
Initialize the BDD library.
|
|
Extend the list by inserting a new pos-lenght pair.
|
|
Find n consecutive integers. Browse the list of free integers until n consecutive integers are found. Extend the list (using extend()) otherwise.
|
|
Release n consecutive integers starting at base.
|
|
Release n BDD variables starting at base.
|
|
Remove n consecutive entries from the list, starting at base.
|
|
Remove n consecutive entries from the list, starting at base.
|
|
Tracks unused BDD variables.
|
|
Whether the BDD library has been initialized.
|
|
number of variables in use in this allocator.
|