PPL  0.12.1
Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator Class Reference

An iterator keeping a Linear_System consistent with a Bit_Matrix. More...

#include <Linear_System.defs.hh>

List of all members.

Public Types

typedef std::vector< Dense_Row >
::iterator 
Iter1
typedef std::vector< Bit_Row >
::iterator 
Iter2
typedef std::iterator_traits
< Iter1 >::iterator_category 
iterator_category
typedef std::iterator_traits
< Iter1 >::value_type 
value_type
typedef std::iterator_traits
< Iter1 >::difference_type 
difference_type
typedef std::iterator_traits
< Iter1 >::pointer 
pointer
typedef std::iterator_traits
< Iter1 >::reference 
reference

Public Member Functions

 With_Bit_Matrix_iterator (Iter1 iter1, Iter2 iter2)
 Constructor.
 With_Bit_Matrix_iterator (const With_Bit_Matrix_iterator &y)
 Copy constructor.
 ~With_Bit_Matrix_iterator ()
 Destructor.
With_Bit_Matrix_iteratoroperator= (const With_Bit_Matrix_iterator &y)
 Assignment operator.
difference_type operator- (const With_Bit_Matrix_iterator &y) const
 Distance operator.
reference operator* () const
 Dereference operator.
pointer operator-> () const
 Access-through operator.
void m_iter_swap (const With_Bit_Matrix_iterator &y) const
 Swaps the pointed Dense_Row objects while keeping Bit_Matrix consistent.
Operators Implementing Iterator Movement
With_Bit_Matrix_iteratoroperator++ ()
With_Bit_Matrix_iterator operator++ (int)
With_Bit_Matrix_iteratoroperator-- ()
With_Bit_Matrix_iterator operator-- (int)
With_Bit_Matrix_iteratoroperator+= (difference_type d)
With_Bit_Matrix_iterator operator+ (difference_type d) const
With_Bit_Matrix_iteratoroperator-= (difference_type d)
With_Bit_Matrix_iterator operator- (difference_type d) const
Comparisons between Iterators
bool operator== (const With_Bit_Matrix_iterator &y) const
bool operator!= (const With_Bit_Matrix_iterator &y) const
bool operator< (const With_Bit_Matrix_iterator &y) const

Private Attributes

Iter1 i1
Iter2 i2

Related Functions

(Note that these are not member functions.)

void iter_swap (Linear_System::With_Bit_Matrix_iterator x, Linear_System::With_Bit_Matrix_iterator y)
 Swaps x with y.
void iter_swap (Linear_System::With_Bit_Matrix_iterator x, Linear_System::With_Bit_Matrix_iterator y)

Detailed Description

An iterator keeping a Linear_System consistent with a Bit_Matrix.

An iterator on the vector of Dense_Row objects encoded in a Linear_System extended to maintain a corresponding iterator on a vector of Bit_Row objects. Access to values is always done on the Dense_Row objects, but iterator movements and swaps are done on both components.

Definition at line 430 of file Linear_System.defs.hh.


Member Typedef Documentation


Constructor & Destructor Documentation

Constructor.

Definition at line 247 of file Linear_System.inlines.hh.

  : i1(iter1), i2(iter2) {
}

Member Function Documentation

Swaps the pointed Dense_Row objects while keeping Bit_Matrix consistent.

Definition at line 364 of file Linear_System.inlines.hh.

References i1, and i2.

Referenced by iter_swap().

                                                     {
  using std::iter_swap;
  iter_swap(i1, y.i1);
  iter_swap(i2, y.i2);
}
bool Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator!= ( const With_Bit_Matrix_iterator y) const
inline

Definition at line 342 of file Linear_System.inlines.hh.

References i1.

                                                    {
  return i1 != y.i1;
}
Linear_System::With_Bit_Matrix_iterator::reference Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator* ( ) const
inline

Dereference operator.

Definition at line 353 of file Linear_System.inlines.hh.

                                                       {
  return *i1;
}
Linear_System::With_Bit_Matrix_iterator Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator+ ( difference_type  d) const
inline

Definition at line 307 of file Linear_System.inlines.hh.

                                   {
  With_Bit_Matrix_iterator tmp = *this;
  tmp += d;
  return tmp;
}
Linear_System::With_Bit_Matrix_iterator & Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator++ ( )
inline

Definition at line 271 of file Linear_System.inlines.hh.

                                                  {
  ++i1;
  ++i2;
  return *this;
}
Linear_System::With_Bit_Matrix_iterator Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator++ ( int  )
inline

Definition at line 278 of file Linear_System.inlines.hh.

                                                     {
  With_Bit_Matrix_iterator tmp = *this;
  operator++();
  return tmp;
}
Linear_System::With_Bit_Matrix_iterator & Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator+= ( difference_type  d)
inline

Definition at line 299 of file Linear_System.inlines.hh.

                                                                   {
  i1 += d;
  i2 += d;
  return *this;
}
Linear_System::With_Bit_Matrix_iterator Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator- ( difference_type  d) const
inline

Definition at line 322 of file Linear_System.inlines.hh.

                                   {
  With_Bit_Matrix_iterator tmp = *this;
  tmp -= d;
  return tmp;
}
Linear_System::With_Bit_Matrix_iterator::difference_type Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator- ( const With_Bit_Matrix_iterator y) const
inline

Distance operator.

Definition at line 330 of file Linear_System.inlines.hh.

References i1.

                                                   {
  return i1 - y.i1;
}
Linear_System::With_Bit_Matrix_iterator & Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator-- ( )
inline

Definition at line 285 of file Linear_System.inlines.hh.

                                                  {
  --i1;
  --i2;
  return *this;
}
Linear_System::With_Bit_Matrix_iterator Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator-- ( int  )
inline

Definition at line 292 of file Linear_System.inlines.hh.

                                                     {
  With_Bit_Matrix_iterator tmp = *this;
  operator--();
  return tmp;
}
Linear_System::With_Bit_Matrix_iterator & Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator-= ( difference_type  d)
inline

Definition at line 314 of file Linear_System.inlines.hh.

                                                                   {
  i1 -= d;
  i2 -= d;
  return *this;
}
Linear_System::With_Bit_Matrix_iterator::pointer Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator-> ( ) const
inline

Access-through operator.

Definition at line 358 of file Linear_System.inlines.hh.

                                                        {
  return &*i1;
}
bool Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator< ( const With_Bit_Matrix_iterator y) const
inline

Definition at line 348 of file Linear_System.inlines.hh.

References i1.

                                                   {
  return i1 < y.i1;
}
Linear_System::With_Bit_Matrix_iterator & Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator= ( const With_Bit_Matrix_iterator y)
inline

Assignment operator.

Definition at line 264 of file Linear_System.inlines.hh.

References i1, and i2.

                                             {
  i1 = y.i1;
  i2 = y.i2;
  return *this;
}
bool Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator::operator== ( const With_Bit_Matrix_iterator y) const
inline

Definition at line 336 of file Linear_System.inlines.hh.

References i1.

                                                    {
  return i1 == y.i1;
}

Friends And Related Function Documentation

Definition at line 374 of file Linear_System.inlines.hh.

References m_iter_swap().

                                                   {
  x.m_iter_swap(y);
}

Member Data Documentation


The documentation for this class was generated from the following files: