#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.
1.5.7.1