ConstTensor3View Class Reference

A constant view of a Tensor3. More...

#include <matpackIII.h>

Inheritance diagram for ConstTensor3View:

Inheritance graph
[legend]
Collaboration diagram for ConstTensor3View:

Collaboration graph
[legend]

List of all members.

Public Member Functions

Index npages () const
 Returns the number of pages.
Index nrows () const
 Returns the number of rows.
Index ncols () const
 Returns the number of columns.
ConstTensor3View operator() (const Range &p, const Range &r, const Range &c) const
 Const index operator for subrange.
ConstMatrixView operator() (const Range &p, const Range &r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
ConstMatrixView operator() (const Range &p, Index r, const Range &c) const
 Const index operator returning an object of type ConstMatrixView.
ConstMatrixView operator() (Index p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstMatrixView.
ConstVectorView operator() (Index p, Index r, const Range &c) const
 Const index operator returning an object of type ConstVectorView.
ConstVectorView operator() (Index p, const Range &r, Index c) const
 Const index operator returning an object of type ConstVectorView.
ConstVectorView operator() (const Range &p, Index r, Index c) const
 Const index operator returning an object of type ConstVectorView.
Numeric operator() (Index p, Index r, Index c) const
 Plain const index operator.
ConstIterator3D begin () const
 Return const iterator to first page.
ConstIterator3D end () const
 Return const iterator behind last page.
virtual ~ConstTensor3View ()
 Destructor.
 ConstTensor3View (const ConstMatrixView &a)
 Special constructor to make a Tensor3 view of a matrix.

Protected Member Functions

 ConstTensor3View ()
 Default constructor.
 ConstTensor3View (Numeric *data, const Range &p, const Range &r, const Range &c)
 Explicit constructor.
 ConstTensor3View (Numeric *data, const Range &pp, const Range &pr, const Range &pc, const Range &np, const Range &nr, const Range &nc)
 Recursive constructor.

Protected Attributes

Range mpr
 The page range of mdata that is actually used.
Range mrr
 The row range of mdata that is actually used.
Range mcr
 The column range of mdata that is actually used.
Numericmdata
 Pointer to the plain C array that holds the data.

Friends

class Tensor3View
class ConstIterator4D
class ConstTensor4View
class ConstTensor5View
class ConstTensor6View
class ConstTensor7View


Detailed Description

A constant view of a Tensor3.

This, together with the derived class Tensor3View, contains the main implementation of a Tensor3. It defines the concepts of Tensor3View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor3View from a subrange of a Tensor3View.

The three dimensions of the tensor are called: page, row, column.

The class Tensor3 is just a special case of a Tensor3View which also allocates storage.

Definition at line 147 of file matpackIII.h.


Constructor & Destructor Documentation

virtual ConstTensor3View::~ConstTensor3View (  )  [inline, virtual]

Destructor.

Definition at line 191 of file matpackIII.h.

ConstTensor3View::ConstTensor3View ( const ConstMatrixView a  ) 

Special constructor to make a Tensor3 view of a matrix.

Definition at line 160 of file matpackIII.cc.

ConstTensor3View::ConstTensor3View (  )  [protected]

Default constructor.

This is necessary, so that we can have a default constructor for derived classes.

Definition at line 171 of file matpackIII.cc.

Referenced by operator()().

ConstTensor3View::ConstTensor3View ( Numeric data,
const Range pr,
const Range rr,
const Range cr 
) [protected]

Explicit constructor.

This one is used by Tensor3 to initialize its own Tensor3View part. The row range rr must have a stride to account for the length of one row. The page range pr must have a stride to account for the length of one page.

Definition at line 181 of file matpackIII.cc.

ConstTensor3View::ConstTensor3View ( Numeric data,
const Range pp,
const Range pr,
const Range pc,
const Range np,
const Range nr,
const Range nc 
) [protected]

Recursive constructor.

This is used to construct sub-tensors from sub-tensors. That means that the new ranges have to be interpreted relative to the original ranges.

The new ranges may contain -1 for the extent which acts as a joker. However, the used Range constructor converts this to an explicit range, consistent with the original Range.

Definition at line 200 of file matpackIII.cc.


Member Function Documentation

Index ConstTensor3View::npages (  )  const [inline]

Index ConstTensor3View::nrows (  )  const [inline]

Index ConstTensor3View::ncols (  )  const [inline]

ConstTensor3View ConstTensor3View::operator() ( const Range p,
const Range r,
const Range c 
) const

Const index operator for subrange.

We have to also account for the case, that *this is already a subrange of a Tensor3. This allows correct recursive behavior.

Reimplemented in Tensor3View.

Definition at line 34 of file matpackIII.cc.

References ConstTensor3View(), mcr, mdata, mpr, and mrr.

Referenced by Tensor3View::operator()().

ConstMatrixView ConstTensor3View::operator() ( const Range p,
const Range r,
Index  c 
) const

Const index operator returning an object of type ConstMatrixView.

(Reducing the dimension by one.)

Reimplemented in Tensor3View.

Definition at line 43 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

ConstMatrixView ConstTensor3View::operator() ( const Range p,
Index  r,
const Range c 
) const

Const index operator returning an object of type ConstMatrixView.

(Reducing the dimension by one.)

Reimplemented in Tensor3View.

Definition at line 58 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

ConstMatrixView ConstTensor3View::operator() ( Index  p,
const Range r,
const Range c 
) const

Const index operator returning an object of type ConstMatrixView.

(Reducing the dimension by one.)

Reimplemented in Tensor3View.

Definition at line 73 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

ConstVectorView ConstTensor3View::operator() ( Index  p,
Index  r,
const Range c 
) const

Const index operator returning an object of type ConstVectorView.

(Reducing the dimension by two.)

Reimplemented in Tensor3View.

Definition at line 88 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

ConstVectorView ConstTensor3View::operator() ( Index  p,
const Range r,
Index  c 
) const

Const index operator returning an object of type ConstVectorView.

(Reducing the dimension by two.)

Reimplemented in Tensor3View.

Definition at line 106 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

ConstVectorView ConstTensor3View::operator() ( const Range p,
Index  r,
Index  c 
) const

Const index operator returning an object of type ConstVectorView.

(Reducing the dimension by two.)

Reimplemented in Tensor3View.

Definition at line 124 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

Numeric ConstTensor3View::operator() ( Index  p,
Index  r,
Index  c 
) const [inline]

Plain const index operator.

Reimplemented in Tensor3View.

Definition at line 171 of file matpackIII.h.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

ConstIterator3D ConstTensor3View::begin (  )  const

ConstIterator3D ConstTensor3View::end (  )  const

Return const iterator behind last page.

Reimplemented in Tensor3View.

Definition at line 150 of file matpackIII.cc.

References mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

Referenced by Tensor3View::end(), max(), min(), operator<<(), Tensor3View::operator=(), Tensor3::Tensor3(), and transform().


Friends And Related Function Documentation

friend class Tensor3View [friend]

Definition at line 191 of file matpackIII.h.

friend class ConstIterator4D [friend]

Definition at line 195 of file matpackIII.h.

friend class ConstTensor4View [friend]

Definition at line 196 of file matpackIII.h.

friend class ConstTensor5View [friend]

Definition at line 197 of file matpackIII.h.

friend class ConstTensor6View [friend]

Definition at line 198 of file matpackIII.h.

friend class ConstTensor7View [friend]

Definition at line 199 of file matpackIII.h.


Member Data Documentation


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

Generated on Mon Mar 23 14:06:58 2009 for ARTS by  doxygen 1.5.6