# ppl_Pointset_Powerset_C_Polyhedron_iterator_tag Interface Reference

Types and functions for iterating on the disjuncts of a ppl_Pointset_Powerset_C_Polyhedron_tag. More...

List of all members.

## Related Functions

(Note that these are not member functions.)
Construction, Initialization and Destruction
int | ppl_new_Pointset_Powerset_C_Polyhedron_iterator (ppl_Pointset_Powerset_C_Polyhedron_iterator_t *pit)
| Builds a new `iterator' and writes a handle to it at address `pit`.
int | ppl_new_Pointset_Powerset_C_Polyhedron_iterator_from_iterator (ppl_Pointset_Powerset_C_Polyhedron_iterator_t *pit, ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t y)
| Builds a copy of `y` and writes a handle to it at address `pit`.
int | ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (ppl_Pointset_Powerset_C_Polyhedron_t ps, ppl_Pointset_Powerset_C_Polyhedron_iterator_t psit)
| Assigns to `psit` an iterator "pointing" to the beginning of the sequence of disjuncts of `ps`.
int | ppl_Pointset_Powerset_C_Polyhedron_iterator_end (ppl_Pointset_Powerset_C_Polyhedron_t ps, ppl_Pointset_Powerset_C_Polyhedron_iterator_t psit)
| Assigns to `psit` an iterator "pointing" past the end of the sequence of disjuncts of `ps`.
int | ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t it)
| Invalidates the handle `it:` this makes sure the corresponding resources will eventually be released.
Dereferencing, Increment, Decrement and Equality Testing
int | ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t it, ppl_const_Polyhedron_t *d)
| Dereferences `it` writing a const handle to the resulting disjunct at address `d`.
int | ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (ppl_Pointset_Powerset_C_Polyhedron_iterator_t it)
| Increments `it` so that it "points" to the next disjunct.
int | ppl_Pointset_Powerset_C_Polyhedron_iterator_decrement (ppl_Pointset_Powerset_C_Polyhedron_iterator_t it)
| Decrements `it` so that it "points" to the previous disjunct.
int | ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t x, ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t y)
| Returns a positive integer if the iterators corresponding to `x` and `y` are equal; returns 0 if they are different.

## Detailed Description

Types and functions for iterating on the disjuncts of a ppl_Pointset_Powerset_C_Polyhedron_tag.

## Friends And Related Function Documentation

int ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference | ( | ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t | it,
|  | ppl_const_Polyhedron_t * | d |
| ) |  |  | `[related]`

Dereferences `it` writing a const handle to the resulting disjunct at address `d`.

Note:
  Even though `it` is an non-const iterator, dereferencing it results in a handle to a const disjunct. This is because mutable iterators are meant to allow for the modification of the sequence of disjuncts (e.g., by dropping elements), while preventing direct modifications of the disjuncts they point to.

Warning:
  On exit, the disjunct `d` is still owned by the powerset object: any function call on the owning powerset object may invalidate it. Moreover, `d` should not be deleted directly: its resources will be released when deleting the owning powerset.

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

- C_interface.dox