Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U > Class Template Reference

An object that behaves like a matrix's row with respect to the subscript operators. More...

Collaboration diagram for Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

template<typename V>
 Pseudo_Row (const Pseudo_Row< V > &y)
 Copy-constructor allowing the construction of a const pseudo-row from a non-const pseudo-row. Ordinary copy constructor.
 ~Pseudo_Row ()
 Destructor.
U & operator[] (dimension_type k) const
 Subscript operator.
 Pseudo_Row ()
 Default constructor: creates a past-the-end object.
Pseudo_Rowoperator= (const Pseudo_Row &y)
 Assignment operator.

Private Member Functions

 Pseudo_Row (U &y)
 Private constructor for a Pseudo_Row beginning at y.

Private Attributes

U * first
 Holds a reference to the beginning of this row.

Friends

class Pseudo_Row
class any_row_iterator
class OR_Matrix


Detailed Description

template<typename T>
template<typename U>
class Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >

An object that behaves like a matrix's row with respect to the subscript operators.

Definition at line 112 of file OR_Matrix.defs.hh.


Constructor & Destructor Documentation

template<typename T>
template<typename U>
template<typename V>
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::Pseudo_Row ( const Pseudo_Row< V > &  y  )  [inline]

Copy-constructor allowing the construction of a const pseudo-row from a non-const pseudo-row. Ordinary copy constructor.

Definition at line 91 of file OR_Matrix.inlines.hh.

00092   : first(y.first)
00093 #if PPL_OR_MATRIX_EXTRA_DEBUG
00094     , size_(y.size_)
00095 #endif
00096 {
00097 }

template<typename T>
template<typename U>
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::~Pseudo_Row (  )  [inline]

Destructor.

Definition at line 113 of file OR_Matrix.inlines.hh.

00113                                        {
00114 }

template<typename T>
template<typename U>
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::Pseudo_Row (  ) 

Default constructor: creates a past-the-end object.

template<typename T>
template<typename U>
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::Pseudo_Row ( U &  y  )  [inline, explicit, private]

Private constructor for a Pseudo_Row beginning at y.

Definition at line 75 of file OR_Matrix.inlines.hh.

00080   : first(&y)
00081 #if PPL_OR_MATRIX_EXTRA_DEBUG
00082   , size_(s)
00083 #endif
00084 {
00085 }


Member Function Documentation

template<typename T>
template<typename U>
U & Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::operator[] ( dimension_type  k  )  const [inline]

Subscript operator.

Definition at line 119 of file OR_Matrix.inlines.hh.

References Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::first.

00119                                                                   {
00120 #if PPL_OR_MATRIX_EXTRA_DEBUG
00121   assert(k < size_);
00122 #endif
00123   return *(first + k);
00124 }

template<typename T>
template<typename U>
OR_Matrix< T >::Pseudo_Row< U > & Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::operator= ( const Pseudo_Row< U > &  y  )  [inline]

Assignment operator.

Definition at line 102 of file OR_Matrix.inlines.hh.

References Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::first.

00102                                                         {
00103   first = y.first;
00104 #if PPL_OR_MATRIX_EXTRA_DEBUG
00105   size_ = y.size_;
00106 #endif
00107   return *this;
00108 }


Friends And Related Function Documentation

template<typename T>
template<typename U>
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::Pseudo_Row [friend]

Definition at line 182 of file OR_Matrix.defs.hh.

template<typename T>
template<typename U>
friend class any_row_iterator [friend]

Definition at line 183 of file OR_Matrix.defs.hh.

template<typename T>
template<typename U>
friend class OR_Matrix [friend]

Definition at line 185 of file OR_Matrix.defs.hh.


Member Data Documentation

template<typename T>
template<typename U>
U* Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::first [private]


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

Generated on Sat Oct 11 10:41:17 2008 for PPL by  doxygen 1.5.6