Thyra::SerialMultiVectorStd< Scalar > Class Template Reference
[Efficient Generic Serial Concrete Thyra Operator/Vector Subclass Implementations]

General, yet efficient, concrete MultiVectorBase implementation subclass for serial shared-memory multi-vectors. More...

#include <Thyra_SerialMultiVectorStdDecl.hpp>

Inheritance diagram for Thyra::SerialMultiVectorStd< Scalar >:

[legend]
List of all members.

Constructors/initializers/accessors

 SerialMultiVectorStd ()
 Construct to uninitialized.
 SerialMultiVectorStd (const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &range, const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &domain)
 Calls initialize().
 SerialMultiVectorStd (const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &range, const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &domain, const Teuchos::RefCountPtr< Scalar > &values, const Index leadingDim)
 Calls initialize().
void initialize (const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &range, const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &domain)
 Initialize.
void initialize (const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &range, const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &domain, const Teuchos::RefCountPtr< Scalar > &values, const Index leadingDim)
 Initialize.
void uninitialize (Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > *range=NULL, Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > *domain=NULL, Teuchos::RefCountPtr< Scalar > *values=NULL, Index *leadingDim=NULL)
 Set to an uninitialized state.

Overridden form Teuchos::Describable

std::string description () const
 

Overridden from EuclideanLinearOpBase

Teuchos::RefCountPtr< const
ScalarProdVectorSpaceBase<
Scalar > > 
rangeScalarProdVecSpc () const
 
Teuchos::RefCountPtr< const
ScalarProdVectorSpaceBase<
Scalar > > 
domainScalarProdVecSpc () const
 

Overridden from MultiVectorBase

Teuchos::RefCountPtr< VectorBase<
Scalar > > 
col (Index j)
 
Teuchos::RefCountPtr< MultiVectorBase<
Scalar > > 
subView (const Range1D &col_rng)
 

Overridden from SerialMultiVectorBase

void getData (const Scalar **values, Index *leadingDim) const
 
void freeData (const Scalar *values) const
 
void getData (Scalar **values, Index *leadingDim)
 
void commitData (Scalar *values)
 

Detailed Description

template<class Scalar>
class Thyra::SerialMultiVectorStd< Scalar >

General, yet efficient, concrete MultiVectorBase implementation subclass for serial shared-memory multi-vectors.

Objects of this type generally should not be constructed directly by a client but instead by using the concrete vector space subclass SerialVectorSpaceStd using the function Thyra::SerialVectorSpaceStd::createMembers().

The storage type can be anything since a Teuchos::RefCountPtr is used to pass in the values pointer into the constructor and initialize().

Definition at line 51 of file Thyra_SerialMultiVectorStdDecl.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Thyra::SerialMultiVectorStd< Scalar >::SerialMultiVectorStd  ) 
 

Construct to uninitialized.

Definition at line 44 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
Thyra::SerialMultiVectorStd< Scalar >::SerialMultiVectorStd const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  range,
const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  domain
 

Calls initialize().

Definition at line 49 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
Thyra::SerialMultiVectorStd< Scalar >::SerialMultiVectorStd const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  range,
const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  domain,
const Teuchos::RefCountPtr< Scalar > &  values,
const Index  leadingDim
 

Calls initialize().

Definition at line 58 of file Thyra_SerialMultiVectorStd.hpp.


Member Function Documentation

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::initialize const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  range,
const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  domain
 

Initialize.

Parameters:
range [in] Smart pointer to the vector space object that defines the range.
domain [in] Smart pointer to the vector space object that defines the domain.
Preconditions:
  • range.get()!=NULL
  • domain.get()!=NULL

This function simply calls initialize(range,domain,...) and passes in dynamically allocated data for the values.

Definition at line 69 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::initialize const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  range,
const Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > &  domain,
const Teuchos::RefCountPtr< Scalar > &  values,
const Index  leadingDim
 

Initialize.

Parameters:
range [in] Smart pointer to the vector space object that defines the range.
domain [in] Smart pointer to the vector space object that defines the domain.
values [in] Smart pointer to beginning of Fortran-style column-major array that defines the local values in the multi-vector. This array must be at least of dimension leadingDim*domain->dim() and (&*values)[ (i-1) + (j-1)*leadingDim ] gives the local value of the one-based (i,j) entry where i=1...range()->dim() and j=1...domain->dim().
leadingDim [in] The leading dimension of the multi-vector.
Preconditions:
  • range.get()!=NULL
  • domain.get()!=NULL
  • values.get()!=NULL
  • leadingDim >= range->dim()

Postconditions:

Definition at line 87 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::uninitialize Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > *  range = NULL,
Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > *  domain = NULL,
Teuchos::RefCountPtr< Scalar > *  values = NULL,
Index leadingDim = NULL
 

Set to an uninitialized state.

Postconditions:

Definition at line 110 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
std::string Thyra::SerialMultiVectorStd< Scalar >::description  )  const
 

Definition at line 133 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > Thyra::SerialMultiVectorStd< Scalar >::rangeScalarProdVecSpc  )  const [virtual]
 

Implements Thyra::EuclideanLinearOpBase< Scalar >.

Definition at line 142 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const ScalarProdVectorSpaceBase< Scalar > > Thyra::SerialMultiVectorStd< Scalar >::domainScalarProdVecSpc  )  const [virtual]
 

Implements Thyra::EuclideanLinearOpBase< Scalar >.

Definition at line 152 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
Teuchos::RefCountPtr< VectorBase< Scalar > > Thyra::SerialMultiVectorStd< Scalar >::col Index  j  ) 
 

Definition at line 164 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
Teuchos::RefCountPtr< MultiVectorBase< Scalar > > Thyra::SerialMultiVectorStd< Scalar >::subView const Range1D col_rng  ) 
 

Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.

Definition at line 178 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::getData const Scalar **  values,
Index leadingDim
const [virtual]
 

Implements Thyra::SerialMultiVectorBase< Scalar >.

Definition at line 197 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::freeData const Scalar *  values  )  const [virtual]
 

Implements Thyra::SerialMultiVectorBase< Scalar >.

Definition at line 207 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::getData Scalar **  values,
Index leadingDim
[virtual]
 

Implements Thyra::SerialMultiVectorBase< Scalar >.

Definition at line 215 of file Thyra_SerialMultiVectorStd.hpp.

template<class Scalar>
void Thyra::SerialMultiVectorStd< Scalar >::commitData Scalar *  values  )  [virtual]
 

Implements Thyra::SerialMultiVectorBase< Scalar >.

Definition at line 225 of file Thyra_SerialMultiVectorStd.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:39:54 2008 for Thyra ANA Operator/VectorBase Interfaces and Related Software by doxygen 1.3.9.1