Parma_Polyhedra_Library::Determinate< PS > Class Template Reference
[C++ Language Interface]

Wraps a PPL class into a determinate constraint system interface. More...

#include <ppl.hh>

List of all members.

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 ()
Determinateoperator= (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.


Detailed Description

template<typename PS>
class Parma_Polyhedra_Library::Determinate< PS >

Wraps a PPL class into a determinate constraint system interface.


Member Function Documentation

template<typename PS >
bool Parma_Polyhedra_Library::Determinate< PS >::has_nontrivial_weakening (  )  [inline, static]

Returns true if and only if this domain has a nontrivial weakening operator.


Friends And Related Function Documentation

template<typename PS >
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.

template<typename PS >
bool operator!= ( const Determinate< PS > &  x,
const Determinate< PS > &  y 
) [friend]

Returns true if and only if x and y are different domain elements.

template<typename PS >
std::ostream & operator<< ( std::ostream &  s,
const Determinate< PS > &  x 
) [related]

Output operator.

template<typename PS >
void swap ( Parma_Polyhedra_Library::Determinate< PS > &  x,
Parma_Polyhedra_Library::Determinate< PS > &  y 
) [related]

Specializes std::swap.


The documentation for this class was generated from the following file:

Generated on Sat Apr 18 07:13:19 2009 for PPL by  doxygen 1.5.7.1