#include <Congruence_System.defs.hh>
Public Member Functions | |
const_iterator () | |
Default constructor. | |
const_iterator (const const_iterator &y) | |
Ordinary copy-constructor. | |
~const_iterator () | |
Destructor. | |
const_iterator & | operator= (const const_iterator &y) |
Assignment operator. | |
const Congruence & | operator* () const |
Dereference operator. | |
const Congruence * | operator-> () const |
Indirect member selector. | |
const_iterator & | operator++ () |
Prefix increment operator. | |
const_iterator | operator++ (int) |
Postfix increment operator. | |
bool | operator== (const const_iterator &y) const |
Returns true if and only if *this and y are identical. | |
bool | operator!= (const const_iterator &y) const |
Returns true if and only if *this and y are different. | |
Private Member Functions | |
const_iterator (const Matrix::const_iterator &iter, const Congruence_System &cgs) | |
Constructor. | |
void | skip_forward () |
*this skips to the next non-trivial congruence. | |
Private Attributes | |
Matrix::const_iterator | i |
The const iterator over the matrix of congruences. | |
const Matrix * | csp |
A const pointer to the matrix of congruences. | |
Friends | |
class | Congruence_System |
A const_iterator is used to provide read-only access to each congruence contained in an object of Congruence_System.
gr
: const Congruence_System& cgs = gr.congruences(); for (Congruence_System::const_iterator i = cgs.begin(), cgs_end = cgs.end(); i != cgs_end; ++i) cout << *i << endl;
Definition at line 234 of file Congruence_System.defs.hh.
Parma_Polyhedra_Library::Congruence_System::const_iterator::const_iterator | ( | ) | [inline] |
Parma_Polyhedra_Library::Congruence_System::const_iterator::const_iterator | ( | const const_iterator & | y | ) | [inline] |
Parma_Polyhedra_Library::Congruence_System::const_iterator::~const_iterator | ( | ) | [inline] |
Parma_Polyhedra_Library::Congruence_System::const_iterator::const_iterator | ( | const Matrix::const_iterator & | iter, | |
const Congruence_System & | cgs | |||
) | [inline, private] |
Congruence_System::const_iterator & Parma_Polyhedra_Library::Congruence_System::const_iterator::operator= | ( | const const_iterator & | y | ) | [inline] |
Assignment operator.
Definition at line 122 of file Congruence_System.inlines.hh.
References csp, Parma_Polyhedra_Library::Matrix::const_iterator::i, and i.
const Congruence & Parma_Polyhedra_Library::Congruence_System::const_iterator::operator* | ( | ) | const [inline] |
const Congruence * Parma_Polyhedra_Library::Congruence_System::const_iterator::operator-> | ( | ) | const [inline] |
Indirect member selector.
Definition at line 134 of file Congruence_System.inlines.hh.
References i.
00134 { 00135 return static_cast<const Congruence*>(i.operator->()); 00136 }
Congruence_System::const_iterator & Parma_Polyhedra_Library::Congruence_System::const_iterator::operator++ | ( | ) | [inline] |
Prefix increment operator.
Definition at line 139 of file Congruence_System.inlines.hh.
References i, and skip_forward().
Referenced by operator++().
00139 { 00140 ++i; 00141 skip_forward(); 00142 return *this; 00143 }
Congruence_System::const_iterator Parma_Polyhedra_Library::Congruence_System::const_iterator::operator++ | ( | int | ) | [inline] |
Postfix increment operator.
Definition at line 146 of file Congruence_System.inlines.hh.
References operator++().
00146 { 00147 const const_iterator tmp = *this; 00148 operator++(); 00149 return tmp; 00150 }
bool Parma_Polyhedra_Library::Congruence_System::const_iterator::operator== | ( | const const_iterator & | y | ) | const [inline] |
Returns true
if and only if *this
and y
are identical.
Definition at line 153 of file Congruence_System.inlines.hh.
References Parma_Polyhedra_Library::Matrix::const_iterator::i, and i.
00153 { 00154 return i == y.i; 00155 }
bool Parma_Polyhedra_Library::Congruence_System::const_iterator::operator!= | ( | const const_iterator & | y | ) | const [inline] |
Returns true
if and only if *this
and y
are different.
Definition at line 158 of file Congruence_System.inlines.hh.
References Parma_Polyhedra_Library::Matrix::const_iterator::i, and i.
00158 { 00159 return i != y.i; 00160 }
void Parma_Polyhedra_Library::Congruence_System::const_iterator::skip_forward | ( | ) | [private] |
*this
skips to the next non-trivial congruence.
Definition at line 248 of file Congruence_System.cc.
References csp, Parma_Polyhedra_Library::Matrix::end(), and i.
Referenced by operator++().
00248 { 00249 const Matrix::const_iterator csp_end = csp->end(); 00250 while (i != csp_end && (*this)->is_trivial_true()) 00251 ++i; 00252 }
friend class Congruence_System [friend] |
Definition at line 278 of file Congruence_System.defs.hh.
The const iterator over the matrix of congruences.
Definition at line 281 of file Congruence_System.defs.hh.
Referenced by operator!=(), operator++(), operator->(), operator=(), operator==(), and skip_forward().
const Matrix* Parma_Polyhedra_Library::Congruence_System::const_iterator::csp [private] |
A const pointer to the matrix of congruences.
Definition at line 284 of file Congruence_System.defs.hh.
Referenced by operator=(), and skip_forward().