#include <Constraint_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 Constraint & | operator* () const |
Dereference operator. | |
const Constraint * | 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 Linear_System::const_iterator &iter, const Constraint_System &csys) | |
Constructor. | |
void | skip_forward () |
*this skips to the next non-trivial constraint. | |
Private Attributes | |
Linear_System::const_iterator | i |
The const iterator over the matrix of constraints. | |
const Linear_System * | csp |
A const pointer to the matrix of constraints. | |
Friends | |
class | Constraint_System |
A const_iterator is used to provide read-only access to each constraint contained in a Constraint_System object.
ph
: const Constraint_System& cs = ph.constraints(); for (Constraint_System::const_iterator i = cs.begin(), cs_end = cs.end(); i != cs_end; ++i) cout << *i << endl;
Definition at line 189 of file Constraint_System.defs.hh.
Parma_Polyhedra_Library::Constraint_System::const_iterator::const_iterator | ( | ) | [inline] |
Parma_Polyhedra_Library::Constraint_System::const_iterator::const_iterator | ( | const const_iterator & | y | ) | [inline] |
Parma_Polyhedra_Library::Constraint_System::const_iterator::~const_iterator | ( | ) | [inline] |
Parma_Polyhedra_Library::Constraint_System::const_iterator::const_iterator | ( | const Linear_System::const_iterator & | iter, | |
const Constraint_System & | csys | |||
) | [inline, private] |
Constraint_System::const_iterator & Parma_Polyhedra_Library::Constraint_System::const_iterator::operator= | ( | const const_iterator & | y | ) | [inline] |
Assignment operator.
Definition at line 114 of file Constraint_System.inlines.hh.
References csp, Parma_Polyhedra_Library::Matrix::const_iterator::i, and i.
const Constraint & Parma_Polyhedra_Library::Constraint_System::const_iterator::operator* | ( | ) | const [inline] |
const Constraint * Parma_Polyhedra_Library::Constraint_System::const_iterator::operator-> | ( | ) | const [inline] |
Indirect member selector.
Definition at line 126 of file Constraint_System.inlines.hh.
References i.
00126 { 00127 return static_cast<const Constraint*>(i.operator->()); 00128 }
Constraint_System::const_iterator & Parma_Polyhedra_Library::Constraint_System::const_iterator::operator++ | ( | ) | [inline] |
Prefix increment operator.
Definition at line 131 of file Constraint_System.inlines.hh.
References i, and skip_forward().
Referenced by operator++().
00131 { 00132 ++i; 00133 skip_forward(); 00134 return *this; 00135 }
Constraint_System::const_iterator Parma_Polyhedra_Library::Constraint_System::const_iterator::operator++ | ( | int | ) | [inline] |
Postfix increment operator.
Definition at line 138 of file Constraint_System.inlines.hh.
References operator++().
00138 { 00139 const const_iterator tmp = *this; 00140 operator++(); 00141 return tmp; 00142 }
bool Parma_Polyhedra_Library::Constraint_System::const_iterator::operator== | ( | const const_iterator & | y | ) | const [inline] |
Returns true
if and only if *this
and y
are identical.
Definition at line 145 of file Constraint_System.inlines.hh.
References Parma_Polyhedra_Library::Matrix::const_iterator::i, and i.
00145 { 00146 return i == y.i; 00147 }
bool Parma_Polyhedra_Library::Constraint_System::const_iterator::operator!= | ( | const const_iterator & | y | ) | const [inline] |
Returns true
if and only if *this
and y
are different.
Definition at line 150 of file Constraint_System.inlines.hh.
References Parma_Polyhedra_Library::Matrix::const_iterator::i, and i.
00150 { 00151 return i != y.i; 00152 }
void Parma_Polyhedra_Library::Constraint_System::const_iterator::skip_forward | ( | ) | [private] |
*this
skips to the next non-trivial constraint.
Definition at line 301 of file Constraint_System.cc.
References csp, Parma_Polyhedra_Library::Matrix::end(), and i.
Referenced by operator++().
00301 { 00302 const Linear_System::const_iterator csp_end = csp->end(); 00303 while (i != csp_end && (*this)->is_tautological()) 00304 ++i; 00305 }
friend class Constraint_System [friend] |
Definition at line 233 of file Constraint_System.defs.hh.
Linear_System::const_iterator Parma_Polyhedra_Library::Constraint_System::const_iterator::i [private] |
The const iterator over the matrix of constraints.
Definition at line 236 of file Constraint_System.defs.hh.
Referenced by operator!=(), operator++(), operator->(), operator=(), operator==(), and skip_forward().
A const pointer to the matrix of constraints.
Definition at line 239 of file Constraint_System.defs.hh.
Referenced by operator=(), and skip_forward().