An iterator over a matrix. More...
#include <Matrix.defs.hh>

Public Types | |
| typedef std::forward_iterator_tag | iterator_category |
| typedef std::iterator_traits < Iter >::value_type | value_type |
| typedef std::iterator_traits < Iter >::difference_type | difference_type |
| typedef std::iterator_traits < Iter >::pointer | pointer |
| typedef std::iterator_traits < Iter >::reference | reference |
Public Member Functions | |
| const_iterator () | |
| Default constructor. | |
| const_iterator (const Iter &b) | |
Builds a const iterator on the matrix starting from an iterator b on the elements of the vector rows. | |
| const_iterator (const const_iterator &y) | |
| Ordinary copy constructor. | |
| const_iterator & | operator= (const const_iterator &y) |
| Assignment operator. | |
| reference | operator* () const |
| Dereference operator. | |
| pointer | 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 Types | |
| typedef std::vector< Row > ::const_iterator | Iter |
Private Attributes | |
| Iter | i |
The const iterator on the rows' vector rows. | |
An iterator over a matrix.
A const_iterator is used to provide read-only access to each row contained in a Matrix object.
Definition at line 91 of file Matrix.defs.hh.
| typedef std::iterator_traits<Iter>::difference_type Parma_Polyhedra_Library::Matrix::const_iterator::difference_type |
Definition at line 100 of file Matrix.defs.hh.
typedef std::vector<Row>::const_iterator Parma_Polyhedra_Library::Matrix::const_iterator::Iter [private] |
Definition at line 93 of file Matrix.defs.hh.
| typedef std::forward_iterator_tag Parma_Polyhedra_Library::Matrix::const_iterator::iterator_category |
Definition at line 98 of file Matrix.defs.hh.
| typedef std::iterator_traits<Iter>::pointer Parma_Polyhedra_Library::Matrix::const_iterator::pointer |
Definition at line 101 of file Matrix.defs.hh.
| typedef std::iterator_traits<Iter>::reference Parma_Polyhedra_Library::Matrix::const_iterator::reference |
Definition at line 102 of file Matrix.defs.hh.
| typedef std::iterator_traits<Iter>::value_type Parma_Polyhedra_Library::Matrix::const_iterator::value_type |
Definition at line 99 of file Matrix.defs.hh.
| Parma_Polyhedra_Library::Matrix::const_iterator::const_iterator | ( | ) | [inline] |
Default constructor.
Definition at line 48 of file Matrix.inlines.hh.
Referenced by operator++().
00049 : i() { 00050 }
| Parma_Polyhedra_Library::Matrix::const_iterator::const_iterator | ( | const Iter & | b | ) | [inline, explicit] |
Builds a const iterator on the matrix starting from an iterator b on the elements of the vector rows.
Definition at line 53 of file Matrix.inlines.hh.
00054 : i(b) { 00055 }
| Parma_Polyhedra_Library::Matrix::const_iterator::const_iterator | ( | const const_iterator & | y | ) | [inline] |
Ordinary copy constructor.
Definition at line 58 of file Matrix.inlines.hh.
00059 : i(y.i) { 00060 }
| bool Parma_Polyhedra_Library::Matrix::const_iterator::operator!= | ( | const const_iterator & | y | ) | const [inline] |
Returns true if and only if *this and y are different.
Definition at line 95 of file Matrix.inlines.hh.
References operator==().
00095 { 00096 return !operator==(y); 00097 }
| Matrix::const_iterator::reference Parma_Polyhedra_Library::Matrix::const_iterator::operator* | ( | ) | const [inline] |
Dereference operator.
Definition at line 69 of file Matrix.inlines.hh.
References i.
00069 { 00070 return *i; 00071 }
| Matrix::const_iterator Parma_Polyhedra_Library::Matrix::const_iterator::operator++ | ( | int | ) | [inline] |
Postfix increment operator.
Definition at line 85 of file Matrix.inlines.hh.
References const_iterator(), and i.
00085 { 00086 return const_iterator(i++); 00087 }
| Matrix::const_iterator & Parma_Polyhedra_Library::Matrix::const_iterator::operator++ | ( | ) | [inline] |
Prefix increment operator.
Definition at line 79 of file Matrix.inlines.hh.
References i.
00079 { 00080 ++i; 00081 return *this; 00082 }
| Matrix::const_iterator::pointer Parma_Polyhedra_Library::Matrix::const_iterator::operator-> | ( | ) | const [inline] |
Indirect member selector.
Definition at line 74 of file Matrix.inlines.hh.
References i.
00074 { 00075 return &*i; 00076 }
| Matrix::const_iterator & Parma_Polyhedra_Library::Matrix::const_iterator::operator= | ( | const const_iterator & | y | ) | [inline] |
Assignment operator.
Definition at line 63 of file Matrix.inlines.hh.
References i.
00063 { 00064 i = y.i; 00065 return *this; 00066 }
| bool Parma_Polyhedra_Library::Matrix::const_iterator::operator== | ( | const const_iterator & | y | ) | const [inline] |
Returns true if and only if *this and y are identical.
Definition at line 90 of file Matrix.inlines.hh.
References i.
Referenced by operator!=().
00090 { 00091 return i == y.i; 00092 }
The const iterator on the rows' vector rows.
Definition at line 95 of file Matrix.defs.hh.
Referenced by Parma_Polyhedra_Library::Generator_System::const_iterator::operator!=(), Parma_Polyhedra_Library::Constraint_System::const_iterator::operator!=(), Parma_Polyhedra_Library::Congruence_System::const_iterator::operator!=(), operator*(), operator++(), operator->(), operator=(), Parma_Polyhedra_Library::Generator_System::const_iterator::operator=(), Parma_Polyhedra_Library::Constraint_System::const_iterator::operator=(), Parma_Polyhedra_Library::Congruence_System::const_iterator::operator=(), operator==(), Parma_Polyhedra_Library::Generator_System::const_iterator::operator==(), Parma_Polyhedra_Library::Constraint_System::const_iterator::operator==(), and Parma_Polyhedra_Library::Congruence_System::const_iterator::operator==().
1.6.3