| PPL
    1.1
    | 
A system of constraints. More...
#include <ppl.hh>
| Public Member Functions | |
| Constraint_System (Representation r=default_representation) | |
| Default constructor: builds an empty system of constraints. | |
| Constraint_System (const Constraint &c, Representation r=default_representation) | |
| Builds the singleton system containing only constraint c. | |
| Constraint_System (const Congruence_System &cgs, Representation r=default_representation) | |
| Builds a system containing copies of any equalities in cgs. | |
| Constraint_System (const Constraint_System &cs) | |
| Ordinary copy constructor.  More... | |
| Constraint_System (const Constraint_System &cs, Representation r) | |
| Copy constructor with specified representation. | |
| ~Constraint_System () | |
| Destructor. | |
| Constraint_System & | operator= (const Constraint_System &y) | 
| Assignment operator. | |
| Representation | representation () const | 
| Returns the current representation of *this. | |
| void | set_representation (Representation r) | 
| Converts *this to the specified representation. | |
| dimension_type | space_dimension () const | 
| Returns the dimension of the vector space enclosing *this. | |
| void | set_space_dimension (dimension_type space_dim) | 
| Sets the space dimension of the rows in the system to space_dim. | |
| bool | has_equalities () const | 
| Returns trueif and only if*thiscontains one or more equality constraints. | |
| bool | has_strict_inequalities () const | 
| Returns trueif and only if*thiscontains one or more strict inequality constraints. | |
| void | insert (const Constraint &c) | 
| Inserts in *thisa copy of the constraintc, increasing the number of space dimensions if needed. | |
| bool | empty () const | 
| Returns trueif and only if*thishas no constraints. | |
| void | clear () | 
| Removes all the constraints from the constraint system and sets its space dimension to 0. | |
| const_iterator | begin () const | 
| Returns the const_iterator pointing to the first constraint, if *thisis not empty; otherwise, returns the past-the-end const_iterator. | |
| const_iterator | end () const | 
| Returns the past-the-end const_iterator. | |
| bool | OK () const | 
| Checks if all the invariants are satisfied. | |
| void | ascii_dump () const | 
| Writes to std::cerran ASCII representation of*this. | |
| void | ascii_dump (std::ostream &s) const | 
| Writes to san ASCII representation of*this. | |
| void | print () const | 
| Prints *thistostd::cerrusingoperator<<. | |
| bool | ascii_load (std::istream &s) | 
| Loads from san ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets*thisaccordingly. Returnstrueif successful,falseotherwise. | |
| memory_size_type | total_memory_in_bytes () const | 
| Returns the total size in bytes of the memory occupied by *this. | |
| memory_size_type | external_memory_in_bytes () const | 
| Returns the size in bytes of the memory managed by *this. | |
| void | m_swap (Constraint_System &y) | 
| Swaps *thiswithy. | |
| Static Public Member Functions | |
| static dimension_type | max_space_dimension () | 
| Returns the maximum space dimension a Constraint_System can handle. | |
| static void | initialize () | 
| Initializes the class. | |
| static void | finalize () | 
| Finalizes the class. | |
| static const Constraint_System & | zero_dim_empty () | 
| Returns the singleton system containing only Constraint::zero_dim_false(). | |
| Related Functions | |
| (Note that these are not member functions.) | |
| std::ostream & | operator<< (std::ostream &s, const Constraint_System &cs) | 
| Output operator.  More... | |
| void | swap (Constraint_System &x, Constraint_System &y) | 
| void | swap (Constraint_System &x, Constraint_System &y) | 
A system of constraints.
An object of the class Constraint_System is a system of constraints, i.e., a multiset of objects of the class Constraint. When inserting constraints in a system, space dimensions are automatically adjusted so that all the constraints in the system are defined on the same vector space.
x and y are defined as follows:  :  Note that: the constraint system is created with space dimension zero; the first and third constraint insertions increase the space dimension to
:  Note that: the constraint system is created with space dimension zero; the first and third constraint insertions increase the space dimension to  and
 and  , respectively.
, respectively. :
: | 
 | inline | 
Ordinary copy constructor.
| 
 | related | 
Output operator.
Writes true if cs is empty. Otherwise, writes on s the constraints of cs, all in one row and separated by ", ". 
| 
 | related | 
| 
 | related |