PPL  1.2
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...

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. More...
 
 ~Pseudo_Row ()
 Destructor. More...
 
U & operator[] (dimension_type k) const
 Subscript operator. More...
 
 Pseudo_Row ()
 Default constructor: creates an invalid object that has to be assigned. More...
 
Pseudo_Rowoperator= (const Pseudo_Row &y)
 Assignment operator. More...
 

Private Member Functions

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

Private Attributes

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

Friends

template<typename V >
class Pseudo_Row
 
template<typename V >
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 90 of file OR_Matrix_inlines.hh.

91  : first(y.first)
92 #if PPL_OR_MATRIX_EXTRA_DEBUG
93  , size_(y.size_)
94 #endif
95 {
96 }
U * first
Holds a reference to the beginning of this row.
template<typename T >
template<typename U >
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::~Pseudo_Row ( )
inline

Destructor.

Definition at line 112 of file OR_Matrix_inlines.hh.

112  {
113 }
template<typename T >
template<typename U >
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::Pseudo_Row ( )
inline

Default constructor: creates an invalid object that has to be assigned.

Definition at line 63 of file OR_Matrix_inlines.hh.

64  : first(0)
65 #if PPL_OR_MATRIX_EXTRA_DEBUG
66  , size_(0)
67 #endif
68 {
69 }
U * first
Holds a reference to the beginning of this row.
template<typename T >
template<typename U >
Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::Pseudo_Row ( U &  y)
inlineexplicitprivate

Private constructor for a Pseudo_Row beginning at y.

Definition at line 74 of file OR_Matrix_inlines.hh.

79  : first(&y)
80 #if PPL_OR_MATRIX_EXTRA_DEBUG
81  , size_(s)
82 #endif
83 {
84 }
U * first
Holds a reference to the beginning of this row.

Member Function Documentation

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 101 of file OR_Matrix_inlines.hh.

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

101  {
102  first = y.first;
103 #if PPL_OR_MATRIX_EXTRA_DEBUG
104  size_ = y.size_;
105 #endif
106  return *this;
107 }
U * first
Holds a reference to the beginning of this row.
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 118 of file OR_Matrix_inlines.hh.

118  {
119 #if PPL_OR_MATRIX_EXTRA_DEBUG
120  PPL_ASSERT(k < size_);
121 #endif
122  return *(first + k);
123 }
U * first
Holds a reference to the beginning of this row.

Friends And Related Function Documentation

template<typename T>
template<typename U>
template<typename V >
friend class any_row_iterator
friend

Definition at line 182 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.

template<typename T>
template<typename U>
template<typename V >
friend class Pseudo_Row
friend

Definition at line 181 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

Holds a reference to the beginning of this row.

Definition at line 154 of file OR_Matrix_defs.hh.

Referenced by Parma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >::operator=().


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