|
PPL
1.1
|
A wrapper for PPL pointsets, providing them with a determinate constraint system interface, as defined in [Bag98]. More...
#include <ppl.hh>
Public Member Functions | |
Constructors and Destructor | |
| Determinate (const PSET &pset) | |
Constructs a COW-wrapped object corresponding to the pointset pset. | |
| Determinate (const Constraint_System &cs) | |
Constructs a COW-wrapped object corresponding to the pointset defined by cs. | |
| Determinate (const Congruence_System &cgs) | |
Constructs a COW-wrapped object corresponding to the pointset defined 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. | |
| PSET & | pointset () |
| Returns a reference to the embedded element. | |
| void | mutate () |
| Determinate & | operator= (const Determinate &y) |
| Assignment operator. | |
| void | m_swap (Determinate &y) |
Swaps *this with y. | |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename PSET > | |
| void | swap (Determinate< PSET > &x, Determinate< PSET > &y) |
Swaps x with y. More... | |
| template<typename PSET > | |
| bool | operator== (const Determinate< PSET > &x, const Determinate< PSET > &y) |
Returns true if and only if x and y are the same COW-wrapped pointset. | |
| template<typename PSET > | |
| bool | operator!= (const Determinate< PSET > &x, const Determinate< PSET > &y) |
Returns true if and only if x and y are different COW-wrapped pointsets. | |
| template<typename PSET > | |
| std::ostream & | operator<< (std::ostream &, const Determinate< PSET > &) |
| Output operator. More... | |
| template<typename PSET > | |
| std::ostream & | operator<< (std::ostream &s, const Determinate< PSET > &x) |
| template<typename PSET > | |
| bool | operator== (const Determinate< PSET > &x, const Determinate< PSET > &y) |
| template<typename PSET > | |
| bool | operator!= (const Determinate< PSET > &x, const Determinate< PSET > &y) |
| template<typename PSET > | |
| void | swap (Determinate< PSET > &x, Determinate< PSET > &y) |
Member Functions that Do Not Modify the Domain Element | |
| const PSET & | pointset () const |
| Returns a const reference to the embedded pointset. | |
| bool | is_top () const |
Returns true if and only if *this embeds the universe element PSET. | |
| bool | is_bottom () const |
Returns true if and only if *this embeds the empty element of PSET. | |
| 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 definitely 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 () |
A wrapper for PPL pointsets, providing them with a determinate constraint system interface, as defined in [Bag98].
The implementation uses a copy-on-write optimization, making the class suitable for constructions, like the finite powerset and ask-and-tell of [Bag98], that are likely to perform many copies.
|
inlinestatic |
Returns true if and only if this domain has a nontrivial weakening operator.
|
related |
Swaps x with y.
|
related |
Output operator.
|
related |
|
related |
|
related |
|
related |