#include <Powerset.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 | |
omega_iterator () | |
Default constructor. | |
omega_iterator (const omega_iterator &y) | |
Copy constructor. | |
reference | operator* () const |
Dereference operator. | |
pointer | operator-> () const |
Indirect access operator. | |
omega_iterator & | operator++ () |
Prefix increment operator. | |
omega_iterator | operator++ (int) |
Postfix increment operator. | |
omega_iterator & | operator-- () |
Prefix decrement operator. | |
omega_iterator | operator-- (int) |
Postfix decrement operator. | |
bool | operator== (const omega_iterator &y) const |
Returns true if and only if *this and y are identical. | |
bool | operator!= (const omega_iterator &y) const |
Returns true if and only if *this and y are different. | |
Protected Types | |
typedef Powerset::Sequence::iterator | Base |
The type of the underlying mutable iterator. | |
typedef std::iterator_traits < typename Powerset::Sequence::const_iterator > | Traits |
A shortcut for naming the const_iterator traits. | |
Protected Member Functions | |
omega_iterator (const Base &b) | |
Constructs from the lower-level iterator. | |
friend | Powerset (const omega_iterator &y) |
Protected Attributes | |
Base | base |
A (mutable) iterator on the sequence of elements. | |
Friends | |
class | Powerset |
This class implements a read-only bidirectional iterator on the sequence of disjuncts. That is, by using an instance of this iterator class it is not possible to overwrite the disjuncts contained in a Powerset element. However, using such an instance allows for the removal of disjuncts by using methods Powerset::drop_disjunct(iterator position)
and Powerset::drop_disjuncts(iterator first, iterator last)
. Such a policy is needed to allow for a reliable use of the Boolean flag Powerset::reduced
.
Powerset::sequence
. Definition at line 512 of file Powerset.defs.hh.
typedef Powerset::Sequence::iterator Parma_Polyhedra_Library::Powerset< D >::omega_iterator::Base [protected] |
typedef std::iterator_traits<typename Powerset::Sequence::const_iterator> Parma_Polyhedra_Library::Powerset< D >::omega_iterator::Traits [protected] |
typedef Traits::iterator_category Parma_Polyhedra_Library::Powerset< D >::omega_iterator::iterator_category |
Definition at line 534 of file Powerset.defs.hh.
typedef Traits::value_type Parma_Polyhedra_Library::Powerset< D >::omega_iterator::value_type |
Definition at line 535 of file Powerset.defs.hh.
typedef Traits::difference_type Parma_Polyhedra_Library::Powerset< D >::omega_iterator::difference_type |
Definition at line 536 of file Powerset.defs.hh.
typedef Traits::pointer Parma_Polyhedra_Library::Powerset< D >::omega_iterator::pointer |
Definition at line 537 of file Powerset.defs.hh.
typedef Traits::reference Parma_Polyhedra_Library::Powerset< D >::omega_iterator::reference |
Definition at line 538 of file Powerset.defs.hh.
Parma_Polyhedra_Library::Powerset< D >::omega_iterator::omega_iterator | ( | const Base & | b | ) | [inline, protected] |
Constructs from the lower-level iterator.
Definition at line 45 of file Powerset.inlines.hh.
00046 : base(b) { 00047 }
Parma_Polyhedra_Library::Powerset< D >::omega_iterator::omega_iterator | ( | ) | [inline] |
Parma_Polyhedra_Library::Powerset< D >::omega_iterator::omega_iterator | ( | const omega_iterator & | y | ) | [inline] |
Parma_Polyhedra_Library::Powerset< D >::omega_iterator::Powerset | ( | const omega_iterator & | y | ) | [protected] |
Powerset< D >::omega_iterator::reference Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator* | ( | ) | const [inline] |
Dereference operator.
Definition at line 51 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::base.
00051 { 00052 return *base; 00053 }
Powerset< D >::omega_iterator::pointer Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator-> | ( | ) | const [inline] |
Indirect access operator.
Definition at line 57 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::base.
00057 { 00058 return &*base; 00059 }
Powerset< D >::omega_iterator & Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator++ | ( | ) | [inline] |
Prefix increment operator.
Definition at line 63 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::base.
Referenced by Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator++().
00063 { 00064 ++base; 00065 return *this; 00066 }
Powerset< D >::omega_iterator Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator++ | ( | int | ) | [inline] |
Postfix increment operator.
Definition at line 70 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator++().
00070 { 00071 omega_iterator tmp = *this; 00072 operator++(); 00073 return tmp; 00074 }
Powerset< D >::omega_iterator & Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator-- | ( | ) | [inline] |
Prefix decrement operator.
Definition at line 78 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::base.
Referenced by Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator--().
00078 { 00079 --base; 00080 return *this; 00081 }
Powerset< D >::omega_iterator Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator-- | ( | int | ) | [inline] |
Postfix decrement operator.
Definition at line 85 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator--().
00085 { 00086 omega_iterator tmp = *this; 00087 operator--(); 00088 return tmp; 00089 }
bool Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator== | ( | const omega_iterator & | y | ) | const [inline] |
Returns true
if and only if *this
and y
are identical.
Definition at line 93 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::base.
Referenced by Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator!=().
00093 { 00094 return base == y.base; 00095 }
bool Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator!= | ( | const omega_iterator & | y | ) | const [inline] |
Returns true
if and only if *this
and y
are different.
Definition at line 99 of file Powerset.inlines.hh.
References Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator==().
00099 { 00100 return !operator==(y); 00101 }
friend class Powerset [friend] |
Definition at line 527 of file Powerset.defs.hh.
Base Parma_Polyhedra_Library::Powerset< D >::omega_iterator::base [protected] |
A (mutable) iterator on the sequence of elements.
Definition at line 522 of file Powerset.defs.hh.
Referenced by Parma_Polyhedra_Library::Powerset< D >::collapse(), Parma_Polyhedra_Library::Powerset< D >::drop_disjunct(), Parma_Polyhedra_Library::Powerset< D >::drop_disjuncts(), Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator*(), Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator++(), Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator--(), Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator->(), and Parma_Polyhedra_Library::Powerset< D >::omega_iterator::operator==().