PPL
1.2
|
An iterator on a sequence of read-only objects. More...
#include <iterator_to_const_defs.hh>
Public Types | |
typedef Traits::iterator_category | iterator_category |
typedef Traits::value_type | value_type |
typedef Traits::difference_type | difference_type |
typedef Traits::pointer | pointer |
typedef Traits::reference | reference |
Public Member Functions | |
iterator_to_const () | |
Default constructor. More... | |
iterator_to_const (const iterator_to_const &y) | |
Copy constructor. More... | |
reference | operator* () const |
Dereference operator. More... | |
pointer | operator-> () const |
Indirect access operator. More... | |
iterator_to_const & | operator++ () |
Prefix increment operator. More... | |
iterator_to_const | operator++ (int) |
Postfix increment operator. More... | |
iterator_to_const & | operator-- () |
Prefix decrement operator. More... | |
iterator_to_const | operator-- (int) |
Postfix decrement operator. More... | |
bool | operator== (const iterator_to_const &y) const |
Returns true if and only if *this and y are identical. More... | |
bool | operator!= (const iterator_to_const &y) const |
Returns true if and only if *this and y are different. More... | |
Private Types | |
typedef Container::iterator | Base |
The type of the underlying mutable iterator. More... | |
typedef std::iterator_traits< typename Container::const_iterator > | Traits |
A shortcut for naming the const_iterator traits. More... | |
Private Member Functions | |
iterator_to_const (const Base &b) | |
Constructs from the lower-level iterator. More... | |
Private Attributes | |
Base | base |
A (mutable) iterator on the sequence of elements. More... | |
Friends | |
class | const_iterator_to_const< Container > |
template<typename T > | |
class | Powerset |
An iterator on a sequence of read-only objects.
This template class implements a bidirectional read-only iterator on the sequence of objects Container
. By using this iterator class it is not possible to modify the objects contained in Container
; rather, object modification has to be implemented by object replacement, i.e., by using the methods provided by Container
to remove/insert objects. Such a policy (a modifiable container of read-only objects) allows for a reliable enforcement of invariants (such as sortedness of the objects in the sequence).
Definition at line 50 of file iterator_to_const_defs.hh.
|
private |
The type of the underlying mutable iterator.
Definition at line 53 of file iterator_to_const_defs.hh.
typedef Traits::difference_type Parma_Polyhedra_Library::iterator_to_const< Container >::difference_type |
Definition at line 73 of file iterator_to_const_defs.hh.
typedef Traits::iterator_category Parma_Polyhedra_Library::iterator_to_const< Container >::iterator_category |
Definition at line 71 of file iterator_to_const_defs.hh.
typedef Traits::pointer Parma_Polyhedra_Library::iterator_to_const< Container >::pointer |
Definition at line 74 of file iterator_to_const_defs.hh.
typedef Traits::reference Parma_Polyhedra_Library::iterator_to_const< Container >::reference |
Definition at line 75 of file iterator_to_const_defs.hh.
|
private |
A shortcut for naming the const_iterator traits.
Definition at line 57 of file iterator_to_const_defs.hh.
typedef Traits::value_type Parma_Polyhedra_Library::iterator_to_const< Container >::value_type |
Definition at line 72 of file iterator_to_const_defs.hh.
|
inlineprivate |
Constructs from the lower-level iterator.
Definition at line 44 of file iterator_to_const_inlines.hh.
|
inline |
Default constructor.
Definition at line 32 of file iterator_to_const_inlines.hh.
|
inline |
Copy constructor.
Definition at line 38 of file iterator_to_const_inlines.hh.
|
inline |
Returns true
if and only if *this
and y
are different.
Definition at line 98 of file iterator_to_const_inlines.hh.
References Parma_Polyhedra_Library::operator==().
|
inline |
Dereference operator.
Definition at line 50 of file iterator_to_const_inlines.hh.
|
inline |
Prefix increment operator.
Definition at line 62 of file iterator_to_const_inlines.hh.
|
inline |
Postfix increment operator.
Definition at line 69 of file iterator_to_const_inlines.hh.
|
inline |
Prefix decrement operator.
Definition at line 77 of file iterator_to_const_inlines.hh.
|
inline |
Postfix decrement operator.
Definition at line 84 of file iterator_to_const_inlines.hh.
|
inline |
Indirect access operator.
Definition at line 56 of file iterator_to_const_inlines.hh.
|
inline |
Returns true
if and only if *this
and y
are identical.
Definition at line 92 of file iterator_to_const_inlines.hh.
References Parma_Polyhedra_Library::iterator_to_const< Container >::base.
|
friend |
Definition at line 65 of file iterator_to_const_defs.hh.
Definition at line 66 of file iterator_to_const_defs.hh.
|
private |
A (mutable) iterator on the sequence of elements.
Definition at line 60 of file iterator_to_const_defs.hh.
Referenced by Parma_Polyhedra_Library::Powerset< D >::collapse(), Parma_Polyhedra_Library::Powerset< D >::drop_disjunct(), Parma_Polyhedra_Library::Powerset< D >::drop_disjuncts(), and Parma_Polyhedra_Library::iterator_to_const< Container >::operator==().