The bliss C++ API 0.77 (Debian 0.77-3)
|
A class for refinable, backtrackable ordered partitions. More...
#include <partition.hh>
Classes | |
class | Cell |
Data structure for holding information about a cell in a Partition. More... | |
Public Types | |
typedef unsigned int | BacktrackPoint |
Public Member Functions | |
BacktrackPoint | set_backtrack_point () |
void | goto_backtrack_point (BacktrackPoint p) |
Cell * | individualize (Cell *const cell, const unsigned int element) |
Cell * | get_cell (const unsigned int e) const |
void | init (const unsigned int N) |
bool | is_discrete () const |
size_t | print (FILE *const fp, const bool add_newline=true) const |
size_t | print_signature (FILE *const fp, const bool add_newline=true) const |
void | clear_ivs (Cell *const cell) |
A class for refinable, backtrackable ordered partitions.
This is rather a data structure with some helper functions than a proper self-contained class. That is, for efficiency reasons the fields of this class are directly manipulated from bliss::AbstractGraph and its subclasses. Conversely, some methods of this class modify the fields of bliss::AbstractGraph, too.
Type for backtracking points.
Clear the invariant_values of the elements in the Cell cell.
Get the cell of the element e
void bliss::Partition::goto_backtrack_point | ( | BacktrackPoint | p | ) |
Backtrack to the point p and remove it.
Partition::Cell * bliss::Partition::individualize | ( | Partition::Cell *const | cell, |
const unsigned int | element | ||
) |
Initialize the partition to the unit partition (all elements in one cell) over the N > 0 elements {0,...,N-1}.
|
inline |
Returns true iff the partition is discrete, meaning that all the elements are in their own cells.
Print the partition into the file stream fp.
Print the partition cell sizes into the file stream fp.
Partition::BacktrackPoint bliss::Partition::set_backtrack_point | ( | ) |
Get a new backtrack point for the current partition