STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D > Class Template Reference
[Subproject STKernel::Tcontainer]

Interface class for homogeneous 2D containers. More...

#include <STK_ITContainer2D.h>

Inherits IContainerBase< TContainer2D >.

List of all members.

Public Member Functions

virtual ~ITContainer2D ()
Integer sizeHo () const
Integer firstCol () const
Integer lastCol () const
Integer getSizeHo () const
Inx const & getRangeHo () const
Integer sizeVe () const
Integer firstRow () const
Integer lastRow () const
Integer getSizeVe () const
Inx const & getRangeVe () const
bool empty () const
TYPE & operator() (const Integer &i, const Integer j)
const TYPE & operator() (Integer i, Integer j) const
TContainerVe operator[] (Integer j) const
TContainerVe operator() (const Inx &I, Integer j) const
TContainerHo operator() (Integer i) const
TContainerHo operator() (Integer i, const Inx &J) const
TContainer2D operator() (const Inx &I, const Inx &J) const
TContainer2D operator() (const Inx &I) const
TContainer2D operator[] (const Inx &J) const
TYPE & at (Integer i, Integer j)
const TYPE & at (Integer i, Integer j) const
TContainer2D at (const Inx &I, const Inx &J)
TContainerVe at (const Inx &I, Integer j)
TContainerHo at (Integer i, const Inx &J) const
TContainerVe atCol (Integer j)
TContainer2D atCol (const Inx &J)
TContainerHo atRow (Integer i) const
TContainer2D atRow (const Inx &I) const
void resize (const Inx &I=Inx(), const Inx &J=Inx())
void pop_back_col ()
void pop_back_row ()

Protected Member Functions

 ITContainer2D (const Inx &I=Inx(), const Inx &J=Inx())
 ITContainer2D (const ITContainer2D &T)
void setRange (const Inx &I=Inx(), const Inx &J=Inx())
void setRangeVe (const Inx &I=Inx())
void incRangeVe (const Integer &inc=1)
void decRangeVe (const Integer &dec=1)
void setFirstVe (const Integer &beg=1)
void incFirstVe (const Integer &inc=1)
void decFirstVe (const Integer &dec=1)
void incLastVe (const Integer &inc=1)
void decLastVe (const Integer &dec=1)
void infVe (const Inx &I=Inx())
void supve (const Inx &I=Inx())
void setRangeHo (const Inx &J=Inx())
void incRangeHo (const Integer &inc=1)
void decRangeHo (const Integer &dec=1)
void setFirstHo (const Integer &beg=1)
void incFirstHo (const Integer &inc=1)
void decFirstHo (const Integer &dec=1)
void incLastHo (const Integer &inc=1)
void decLastHo (const Integer &dec=1)
void infHo (const Inx &J=Inx())
void supHo (const Inx &J=Inx())

Private Attributes

Inx rangeHo_
 Range of the cols.
Inx rangeVe_
 Range of the rows.


Detailed Description

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
class STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >

Implement the curious recursive template paradigm : the template parameter TContainer2D is the name of the class that implements the interface ITcontainer2D. For example
 template<class TYPE>
 class TContainer2D : public ITContainer2D< TYPE
                                          , TContainerHo
                                          , TContainerVe
                                          , TContainer2D<TYPE>
                                          >
 {...}

the pseudo virtual function defined in this interface have the following definition:

   void shift( const Integer& rbeg =1, const Integer& cbeg =1);
   void pushBackCols( const Integer& n =1);
   void popBackCols( const Integer& n =1);
   void pushBackRows( const Integer& n =1);
   void popBackRows( const Integer& n =1);
   TYPE& getElt( const Integer& i, const Integer& j);
   const TYPE& getElt( const Integer& i, const Integer& j) const;
   TContainerVe getCol( const Inx &I, Integer j) const;
   TContainerHo getRow( const Integer& i, const Inx &J) const;
   TContainer2D get2D( const Inx &I, const Inx &J) const;

The clasess TContainerHo and TContainerVe are the class of the lines and columns of the two-dimensional container TContainer2D.

Definition at line 106 of file STK_ITContainer2D.h.


Constructor & Destructor Documentation

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::ITContainer2D ( const Inx I = Inx(),
const Inx J = Inx() 
) [inline, protected]

Default Ctor : rangeHo=(1:0) and rangeVe=(1:0).

Parameters:
I the vertical range
J the horizontal range

Definition at line 121 of file STK_ITContainer2D.h.

00122                  : rangeHo_(J)
00123                  , rangeVe_(I)
00124     { ; }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::ITContainer2D ( const ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D > &  T  )  [inline, protected]

Copy Ctor.

Parameters:
T the container to copy

Definition at line 129 of file STK_ITContainer2D.h.

00130                  : rangeHo_(T.rangeHo_)
00131                  , rangeVe_(T.rangeVe_)
00132     { ;}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
virtual STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::~ITContainer2D (  )  [inline, virtual]

virtual Dtor.

Definition at line 138 of file STK_ITContainer2D.h.

00138 { ;}


Member Function Documentation

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::sizeHo (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::firstCol (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::lastCol (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::getSizeHo (  )  const [inline]

Number of cols.

Definition at line 152 of file STK_ITContainer2D.h.

Referenced by STK::Qr::eraseCol().

00152 { return rangeHo_.size();}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Inx const& STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::getRangeHo (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::sizeVe (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::firstRow (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::lastRow (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Integer STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::getSizeVe (  )  const [inline]

Number of rows.

Definition at line 167 of file STK_ITContainer2D.h.

Referenced by STK::Qr::eraseCol().

00167 { return rangeVe_.size();}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Inx const& STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::getRangeVe (  )  const [inline]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
bool STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::empty (  )  const [inline]

Is there some data ? (nrow and ncol can be negative)

Definition at line 173 of file STK_ITContainer2D.h.

Referenced by STK::Qr::compQr(), STK::Svd::compSvd(), STK::EigenValues::diagsym(), STK::EigenValues::EigenValues(), and STK::Svd::init().

00174     { return (rangeHo_.empty() || rangeVe_.empty());}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TYPE& STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( const Integer i,
const Integer  j 
) [inline]

Operator () : access to one element.

Parameters:
i index of the row
j index of the col

Definition at line 182 of file STK_ITContainer2D.h.

00183     { return this->asLeaf().getElt(i,j);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
const TYPE& STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( Integer  i,
Integer  j 
) const [inline]

Operator () : access to one element for const.

Parameters:
i index of the row
j index of the col

Definition at line 189 of file STK_ITContainer2D.h.

00190     { return this->asLeaf().getElt(i,j);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerVe STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator[] ( Integer  j  )  const [inline]

Operator [] : access to one col.

Parameters:
j index of the col

Definition at line 195 of file STK_ITContainer2D.h.

00196     { return this->asLeaf().getCol(this->getRangeVe(), j);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerVe STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( const Inx I,
Integer  j 
) const [inline]

Operator () : access to many elements of a col.

Parameters:
I range of the index of the rows
j index of the col

Definition at line 202 of file STK_ITContainer2D.h.

00203     { return this->asLeaf().getCol(I, j);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerHo STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( Integer  i  )  const [inline]

Operator () : access to one row.

Parameters:
i index of the row

Definition at line 208 of file STK_ITContainer2D.h.

00209     { return this->asLeaf().getRow(i, this->getRangeHo());}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerHo STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( Integer  i,
const Inx J 
) const [inline]

Operator () : access to many elements of a row.

Parameters:
i index of the row
J index of the col

Definition at line 215 of file STK_ITContainer2D.h.

00216     { return this->asLeaf().getRow(i, J);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainer2D STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( const Inx I,
const Inx J 
) const [inline]

Operator () : access to a sub-array.

Parameters:
I range of the index of the rows
J range of the index of the cols

Definition at line 222 of file STK_ITContainer2D.h.

00223     { return this->asLeaf().get2D(I, J);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainer2D STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator() ( const Inx I  )  const [inline]

Operator () : access to many rows.

Parameters:
I range of the index of the rows

Definition at line 228 of file STK_ITContainer2D.h.

00229     { return this->asLeaf().get2D(I, this->getRangeHo());}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainer2D STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::operator[] ( const Inx J  )  const [inline]

Operator [] : access to many cols.

Parameters:
J range of the index of the cols

Definition at line 234 of file STK_ITContainer2D.h.

00235     { return this->asLeaf().get2D(this->getRangeVe(), J);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TYPE& STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::at ( Integer  i,
Integer  j 
) [inline]

STL compatibility : return the element (i, j).

Parameters:
i index of the row
j index of the col

Definition at line 243 of file STK_ITContainer2D.h.

00244     {
00245       if (this->firstRow() > i)
00246       { throw std::out_of_range("TContainer2D::at(i, j) "
00247                            "this->firstRow() > i");
00248       }
00249       if (this->lastRow() < i)
00250       { throw std::out_of_range("TContainer2D::at(i, j) "
00251                            "this->lastRow() < i");
00252       }
00253       if (this->firstCol() > j)
00254       { throw std::out_of_range("TContainer2D::at(i, j) "
00255                            "this->firstCol() > j");
00256       }
00257       if (this->lastCol() < j)
00258       { throw std::out_of_range("TContainer2D::at(i, j) "
00259                            "this->lastCol() < j");
00260       }
00261       return this->asLeaf().getElt(i, j);
00262     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
const TYPE& STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::at ( Integer  i,
Integer  j 
) const [inline]

STL compatibility : return the const element (i, j).

Parameters:
i index of the row
j index of the col

Definition at line 268 of file STK_ITContainer2D.h.

00269     {
00270       if (this->firstRow() > i)
00271       { throw std::out_of_range("TContainer2D::at(i, j) "
00272                            "this->firstRow() > i");
00273       }
00274       if (this->lastRow() < i)
00275       { throw std::out_of_range("TContainer2D::at(i, j) "
00276                            "this->lastRow() < i");
00277       }
00278       if (this->firstCol() > j)
00279       { throw std::out_of_range("TContainer2D::at(i, j) "
00280                            "this->firstCol() > j");
00281       }
00282       if (this->lastCol() < j)
00283       { throw std::out_of_range("TContainer2D::at(i, j) "
00284                            "this->lastCol() < j");
00285       }
00286       return this->asLeaf().getElt(i, j);
00287     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainer2D STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::at ( const Inx I,
const Inx J 
) [inline]

STL compatibility : return a sub-Array.

Parameters:
I range of the index of the rows
J range of the index of the cols

Definition at line 293 of file STK_ITContainer2D.h.

00294     {
00295       if (this->firstRow() > I.first())
00296       { throw std::out_of_range("TContainer2D::at(I, J) "
00297                            "this->firstRow() > I.first()");
00298       }
00299       if (this->lastRow() < I.last())
00300       { throw std::out_of_range("TContainer2D::at(I, J) "
00301                            "this->lastRow() < I.last()");
00302       }
00303       if (this->firstCol() > J.first())
00304       { throw std::out_of_range("TContainer2D::at(I, J) "
00305                            "this->firstCol() > J.first()");
00306       }
00307       if (this->lastCol() < J.last())
00308       { throw std::out_of_range("TContainer2D::at(I, J) "
00309                            "this->lastCol() < J.last()");
00310       }
00311       return this->asLeaf().get2D(I, J);
00312     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerVe STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::at ( const Inx I,
Integer  j 
) [inline]

STL compatibility : return a part of the col j in the range I.

Parameters:
I range of the index of the rows
j index of the col

Definition at line 318 of file STK_ITContainer2D.h.

00319     {
00320       if (this->firstRow() > I.first())
00321       { throw std::out_of_range("TContainer2D::at(I, j) "
00322                            "this->firstRow() > I.first()");
00323       }
00324       if (this->lastRow() < I.last())
00325       { throw std::out_of_range("TContainer2D::at(I, j) "
00326                            "this->lastRow() < I.last()");
00327       }
00328       if (this->firstCol() > j)
00329       { throw std::out_of_range("TContainer2D::at(I, j) "
00330                            "this->firstCol() > j");
00331       }
00332       if (this->lastCol() < j)
00333       { throw std::out_of_range("TContainer2D::at(I, j) "
00334                            "this->lastCol() < j");
00335       }
00336       return this->asLeaf().getCol(I, j);
00337     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerHo STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::at ( Integer  i,
const Inx J 
) const [inline]

STL compatibility : return a part of the row i in the range J.

Parameters:
i index of the row
J range of the index of the cols

Definition at line 343 of file STK_ITContainer2D.h.

00344     {
00345       if (this->firstRow() > i)
00346       { throw std::out_of_range("TContainer2D::at(i, J) "
00347                            "this->firstRow() > i");
00348       }
00349       if (this->lastRow() < i)
00350       { throw std::out_of_range("TContainer2D::at(i, J) "
00351                            "this->lastRow() < i");
00352       }
00353       if (this->firstCol() > J.first())
00354       { throw std::out_of_range("TContainer2D::at(i, J) "
00355                            "this->firstCol() > J.first()");
00356       }
00357       if (this->lastCol() < J.last())
00358       { throw std::out_of_range("TContainer2D::at(i, J) "
00359                            "this->lastCol() < J.last()");
00360       }
00361       return this->asLeaf().getRow(J, i);
00362     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerVe STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::atCol ( Integer  j  )  [inline]

STL compatibility : return the column j.

Parameters:
j index of the col

Definition at line 367 of file STK_ITContainer2D.h.

00368     {
00369       if (this->firstCol() > j)
00370       { throw std::out_of_range("TContainer2D::atCol(j) "
00371                            "this->firstCol() > j");
00372       }
00373       if (this->lastCol() < j)
00374       { throw std::out_of_range("TContainer2D::atCol(j) "
00375                            "this->lastCol() < j");
00376       }
00377       return this->asLeaf().getCol(this->getRangeVe(), j);
00378     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainer2D STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::atCol ( const Inx J  )  [inline]

STL compatibility : return the Container2D in col range J.

Parameters:
J range of the index of the cols

Definition at line 383 of file STK_ITContainer2D.h.

00384     {
00385       if (this->firstCol() > J.first())
00386       { throw std::out_of_range("TContainer2D::atCol(J) "
00387                            "this->firstCol() > J.first()");
00388       }
00389       if (this->lastCol() < J.last())
00390       { throw std::out_of_range("TContainer2D::atCol(J) "
00391                            "this->lastCol() < J.last()");
00392       }
00393       return this->asLeaf().get2D(this->getRangeVe(), J);
00394     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainerHo STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::atRow ( Integer  i  )  const [inline]

STL compatibility : return the row i.

Parameters:
i the index of the row

Definition at line 399 of file STK_ITContainer2D.h.

00400     {
00401       if (this->firstRow() > i)
00402       { throw std::out_of_range("TContainer2D::atRow(i) "
00403                            "this->firstRow() > i");
00404       }
00405       if (this->lastRow() < i)
00406       { throw std::out_of_range("TContainer2D::atRow(i) "
00407                            "this->lastRow() < i");
00408       }
00409       return this->asLeaf().getRow(i, this->getRangeHo());
00410     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
TContainer2D STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::atRow ( const Inx I  )  const [inline]

STL compatibility : return the Container2D in the row range I.

Parameters:
I range of the index of the rows

Definition at line 415 of file STK_ITContainer2D.h.

00416     {
00417       if (this->firstRow() > I.first())
00418       { throw std::out_of_range("TContainer2D::atRow(I) "
00419                            "this->firstRow() > I.first()");
00420       }
00421       if (this->lastRow() < I.last())
00422       { throw std::out_of_range("TContainer2D::atRow(I) "
00423                            "this->lastRow() < I.last()");
00424       }
00425       return this->asLeaf().get2D(I, this->getRangeHo());
00426     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::resize ( const Inx I = Inx(),
const Inx J = Inx() 
) [inline]

resize the container:

  • call NewFirst(I.first(), J.first()
  • call insertCols() (insertRows()) and/or popBackCols() (popBackRows()).
    Parameters:
    I the new range of the number of rows
    J the new range of the number of cols

Reimplemented in STK::MatrixSquare.

Definition at line 436 of file STK_ITContainer2D.h.

Referenced by STK::Qr::qr().

00437     {
00438       // check if there is something to do
00439       if ((rangeVe_ == I) && (rangeHo_ == J)) return;
00440       //  translate beg
00441       this->asLeaf().shift(I.first(), J.first());
00442       // number of rows to del or add
00443       Integer rinc = I.last() - lastRow();
00444       // number of cols to del or add
00445       Integer cinc = J.last() - lastCol();
00446       // check if we add cols
00447       if (cinc >=0)   // work first on rows
00448       {
00449         if (rinc < 0) this->asLeaf().popBackRows(-rinc);
00450         else          this->asLeaf().pushBackRows(rinc);
00451         this->asLeaf().pushBackCols(cinc);
00452       }
00453       else            // work first on cols
00454       {
00455         this->asLeaf ().popBackCols(-cinc);     // less cols
00456         if (rinc < 0) this->asLeaf().popBackRows(-rinc); // less rows
00457         else          this->asLeaf().pushBackRows(rinc); // more rows
00458       }
00459     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::pop_back_col (  )  [inline]

STL compatibility. pop back last col to the container.

Definition at line 465 of file STK_ITContainer2D.h.

00466     { this->asLeaf().popBackCols();}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::pop_back_row (  )  [inline]

STL compatibility. pop back last col to the container.

Definition at line 470 of file STK_ITContainer2D.h.

00471     { this->asLeaf().popBackRows();}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::setRange ( const Inx I = Inx(),
const Inx J = Inx() 
) [inline, protected]

Set range of the container.

Parameters:
I the vertical range
J the horizontal range

Definition at line 478 of file STK_ITContainer2D.h.

Referenced by STK::IArray2DBase< Real, Real *, ArrayHo< Real >, Array1D< Real >, MatrixUpperTriangular >::swap().

00479     {
00480       setRangeVe(I);
00481       setRangeHo(J);
00482     }

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::setRangeVe ( const Inx I = Inx()  )  [inline, protected]

Set the range of the number of rows.

Parameters:
I the range of the rows number

Definition at line 487 of file STK_ITContainer2D.h.

Referenced by STK::ITContainer2D< TYPE, TArrayHo, TArrayVe, TArray2D >::setRange().

00488     { rangeVe_ = I;}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::incRangeVe ( const Integer inc = 1  )  [inline, protected]

Increment the range of the number of rows.

Parameters:
inc the increment to apply

Definition at line 493 of file STK_ITContainer2D.h.

00494     { rangeVe_.inc(inc);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::decRangeVe ( const Integer dec = 1  )  [inline, protected]

Decrement range of the number of rows.

Parameters:
dec the decrement to apply

Definition at line 499 of file STK_ITContainer2D.h.

00500     { rangeVe_.dec(dec);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::setFirstVe ( const Integer beg = 1  )  [inline, protected]

Set the beginning of the rows.

Parameters:
beg the first index of the rows

Definition at line 505 of file STK_ITContainer2D.h.

00506     { rangeVe_.shift(beg);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::incFirstVe ( const Integer inc = 1  )  [inline, protected]

Increment the beginning of the number of rows.

Parameters:
inc the increment to apply

Definition at line 511 of file STK_ITContainer2D.h.

00512     { rangeVe_.incFirst(inc);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::decFirstVe ( const Integer dec = 1  )  [inline, protected]

Decrement the beginning of the number of rows.

Parameters:
dec the decrement to apply

Definition at line 517 of file STK_ITContainer2D.h.

00518     { rangeVe_.decFirst(dec);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::incLastVe ( const Integer inc = 1  )  [inline, protected]

Increment the end of the number of rows.

Parameters:
inc the increment to apply

Definition at line 523 of file STK_ITContainer2D.h.

00524     { rangeVe_.incLast(inc);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::decLastVe ( const Integer dec = 1  )  [inline, protected]

Decrement the end of the number of rows.

Parameters:
dec the decrement to apply

Definition at line 529 of file STK_ITContainer2D.h.

00530     { rangeVe_.decLast(dec);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::infVe ( const Inx I = Inx()  )  [inline, protected]

Set the inf of the range of the rows and of I.

Parameters:
I the range to apply

Definition at line 535 of file STK_ITContainer2D.h.

00536     { rangeVe_.inf(I);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::supve ( const Inx I = Inx()  )  [inline, protected]

Set the sup of the range of the rows and of I.

Parameters:
I the range to apply

Definition at line 541 of file STK_ITContainer2D.h.

00542     { rangeVe_.sup(I);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::setRangeHo ( const Inx J = Inx()  )  [inline, protected]

Set the range of the cols.

Parameters:
J the range of the cols number

Definition at line 547 of file STK_ITContainer2D.h.

Referenced by STK::ITContainer2D< TYPE, TArrayHo, TArrayVe, TArray2D >::setRange().

00548     { rangeHo_ = J;}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::incRangeHo ( const Integer inc = 1  )  [inline, protected]

Increment the range of the number of cols.

Parameters:
inc the increment to apply

Definition at line 553 of file STK_ITContainer2D.h.

00554     { rangeHo_.inc(inc);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::decRangeHo ( const Integer dec = 1  )  [inline, protected]

Decrement range of the number of cols.

Parameters:
dec the decrement to apply

Definition at line 559 of file STK_ITContainer2D.h.

00560     { rangeHo_.dec(dec);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::setFirstHo ( const Integer beg = 1  )  [inline, protected]

Set the beginning of the number of cols.

Parameters:
beg the new first index

Definition at line 565 of file STK_ITContainer2D.h.

00566     { rangeHo_.shift(beg);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::incFirstHo ( const Integer inc = 1  )  [inline, protected]

inc the beginning of the number of cols.

Parameters:
inc the increment to apply

Definition at line 571 of file STK_ITContainer2D.h.

00572     { rangeHo_.incFirst(inc);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::decFirstHo ( const Integer dec = 1  )  [inline, protected]

Decrement the beginning of the number of cols.

Parameters:
dec the decrement to apply

Definition at line 577 of file STK_ITContainer2D.h.

00578     { rangeHo_.decFirst(dec);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::incLastHo ( const Integer inc = 1  )  [inline, protected]

Increment the end of the number of cols.

Parameters:
inc the increment to apply

Definition at line 583 of file STK_ITContainer2D.h.

00584     { rangeHo_.incLast(inc);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::decLastHo ( const Integer dec = 1  )  [inline, protected]

Decrement the end of the number of cols.

Parameters:
dec the decrement to apply

Definition at line 589 of file STK_ITContainer2D.h.

00590     { rangeHo_.decLast(dec);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::infHo ( const Inx J = Inx()  )  [inline, protected]

Set the inf of the range of the cols and of I.

Parameters:
J the range to apply

Definition at line 595 of file STK_ITContainer2D.h.

00596     { rangeHo_.inf(J);}

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
void STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::supHo ( const Inx J = Inx()  )  [inline, protected]

Set the sup of the range of the cols and of I.

Parameters:
J the range to apply

Definition at line 601 of file STK_ITContainer2D.h.

00602     { rangeHo_.sup(J);}


Member Data Documentation

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Inx STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::rangeHo_ [private]

template<class TYPE, class TContainerHo, class TContainerVe, class TContainer2D>
Inx STK::ITContainer2D< TYPE, TContainerHo, TContainerVe, TContainer2D >::rangeVe_ [private]


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

Generated on Fri Sep 25 10:31:01 2009 for STK++ by  doxygen 1.5.8