Manage ranges of variables.
More...
#include <misc/bddalloc.hh>
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 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.
|
int | free_count () const |
| Return the number of free integers on the list.
|
Detailed Description
Manage ranges of variables.
Member Typedef Documentation
Such pairs describe second
free integer starting at first
.
Constructor & Destructor Documentation
spot::bdd_allocator::bdd_allocator |
( |
| ) |
|
Member Function Documentation
int spot::bdd_allocator::allocate_variables |
( |
int |
n | ) |
|
Allocate n BDD variables.
std::ostream& spot::free_list::dump_free_list |
( |
std::ostream & |
os | ) |
const |
|
inherited |
Dump the list to os for debugging.
virtual int spot::bdd_allocator::extend |
( |
int |
n | ) |
|
|
privatevirtual |
void spot::bdd_allocator::extvarnum |
( |
int |
more | ) |
|
|
private |
int spot::free_list::free_count |
( |
| ) |
const |
|
inherited |
Return the number of free integers on the list.
static void spot::bdd_allocator::initialize |
( |
| ) |
|
|
static |
Initialize the BDD library.
void spot::free_list::insert |
( |
int |
base, |
|
|
int |
n |
|
) |
| |
|
inherited |
Extend the list by inserting a new pos-lenght pair.
int spot::free_list::register_n |
( |
int |
n | ) |
|
|
inherited |
Find n consecutive integers.
Browse the list of free integers until n consecutive integers are found. Extend the list (using extend()) otherwise.
- Returns
- the first integer of the range
void spot::free_list::release_n |
( |
int |
base, |
|
|
int |
n |
|
) |
| |
|
inherited |
Release n consecutive integers starting at base.
void spot::bdd_allocator::release_variables |
( |
int |
base, |
|
|
int |
n |
|
) |
| |
Release n BDD variables starting at base.
void spot::free_list::remove |
( |
int |
base, |
|
|
int |
n = 0 |
|
) |
| |
|
inherited |
Remove n consecutive entries from the list, starting at base.
void spot::free_list::remove |
( |
free_list_type::iterator |
i, |
|
|
int |
base, |
|
|
int |
n |
|
) |
| |
|
protectedinherited |
Remove n consecutive entries from the list, starting at base.
Member Data Documentation
Tracks unused BDD variables.
bool spot::bdd_allocator::initialized |
|
staticprotected |
Whether the BDD library has been initialized.
int spot::bdd_allocator::lvarnum |
|
protected |
number of variables in use in this allocator.
The documentation for this class was generated from the following file: