#include <ppl.hh>
Member Functions that Do Not Modify the Domain Element | |
const PS & | element () const |
Returns a const reference to the embedded element. | |
bool | is_top () const |
Returns true if and only if *this is the top of the determinate constraint system (i.e., the whole vector space). | |
bool | is_bottom () const |
Returns true if and only if *this is the bottom of the determinate constraint system. | |
bool | definitely_entails (const Determinate &y) const |
Returns true if and only if *this entails y . | |
bool | is_definitely_equivalent_to (const Determinate &y) const |
Returns true if and only if *this and y are equivalent. | |
memory_size_type | total_memory_in_bytes () const |
Returns a lower bound to the total size in bytes of the memory occupied by *this . | |
memory_size_type | external_memory_in_bytes () const |
Returns a lower bound to the size in bytes of the memory managed by *this . | |
bool | OK () const |
Checks if all the invariants are satisfied. | |
static bool | has_nontrivial_weakening () |
Public Member Functions | |
Constructors and Destructor | |
Determinate (const PS &p) | |
Injection operator: builds the determinate constraint system element corresponding to the base-level element p . | |
Determinate (const Constraint_System &cs) | |
Injection operator: builds the determinate constraint system element corresponding to the base-level element represented by cs . | |
Determinate (const Congruence_System &cgs) | |
Injection operator: builds the determinate constraint system element corresponding to the base-level element represented by cgs . | |
Determinate (const Determinate &y) | |
Copy constructor. | |
~Determinate () | |
Destructor. | |
Member Functions that May Modify the Domain Element | |
void | upper_bound_assign (const Determinate &y) |
Assigns to *this the upper bound of *this and y . | |
void | meet_assign (const Determinate &y) |
Assigns to *this the meet of *this and y . | |
void | weakening_assign (const Determinate &y) |
Assigns to *this the result of weakening *this with y . | |
void | concatenate_assign (const Determinate &y) |
Assigns to *this the concatenation of *this and y , taken in this order. | |
PS & | element () |
Returns a reference to the embedded element. | |
void | mutate () |
Determinate & | operator= (const Determinate &y) |
Assignment operator. | |
void | swap (Determinate &y) |
Swaps *this with y . | |
Friends | |
bool | operator== (const Determinate< PS > &x, const Determinate< PS > &y) |
Returns true if and only if x and y are the same domain element. | |
bool | operator!= (const Determinate< PS > &x, const Determinate< PS > &y) |
Returns true if and only if x and y are different domain elements. | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename PS > | |
std::ostream & | operator<< (std::ostream &, const Determinate< PS > &) |
Output operator. | |
template<typename PS > | |
void | swap (Parma_Polyhedra_Library::Determinate< PS > &x, Parma_Polyhedra_Library::Determinate< PS > &y) |
Specializes std::swap . |
bool Parma_Polyhedra_Library::Determinate< PS >::has_nontrivial_weakening | ( | ) | [inline, static] |
Returns true
if and only if this domain has a nontrivial weakening operator.
bool operator== | ( | const Determinate< PS > & | x, | |
const Determinate< PS > & | y | |||
) | [friend] |
Returns true
if and only if x
and y
are the same domain element.
bool operator!= | ( | const Determinate< PS > & | x, | |
const Determinate< PS > & | y | |||
) | [friend] |
Returns true
if and only if x
and y
are different domain elements.
std::ostream & operator<< | ( | std::ostream & | s, | |
const Determinate< PS > & | x | |||
) | [related] |
Output operator.
void swap | ( | Parma_Polyhedra_Library::Determinate< PS > & | x, | |
Parma_Polyhedra_Library::Determinate< PS > & | y | |||
) | [related] |
Specializes std::swap
.