Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Thyra::MultiVectorRandomizerBase< Scalar > Class Template Referenceabstract

Base interface for a strategy object for randomizing a multi-vector. More...

#include <Thyra_MultiVectorRandomizerBase.hpp>

Inheritance diagram for Thyra::MultiVectorRandomizerBase< Scalar >:
Inheritance graph
[legend]

Public Member Functions

virtual ~MultiVectorRandomizerBase ()
 
virtual bool isCompatible (const VectorSpaceBase< Scalar > &space) const =0
 Determines if *this is compatible with multi-vectors from the VectorSpace space. More...
 
void randomize (const Ptr< MultiVectorBase< Scalar > > &mv)
 Randomize a "compatible" multi-vector. More...
 

Detailed Description

template<class Scalar>
class Thyra::MultiVectorRandomizerBase< Scalar >

Base interface for a strategy object for randomizing a multi-vector.

This object is not stateless in its use! Every time it generates a new random multi-vector its behavior changes.

A single MultiVectorRandomizerBase object may be compatible with many different types of concrete vector space implementations or may compatible with only a specific instantiation of a concrete vector space subclass.

Definition at line 32 of file Thyra_MultiVectorRandomizerBase.hpp.

Constructor & Destructor Documentation

template<class Scalar >
virtual Thyra::MultiVectorRandomizerBase< Scalar >::~MultiVectorRandomizerBase ( )
inlinevirtual

Definition at line 36 of file Thyra_MultiVectorRandomizerBase.hpp.

Member Function Documentation

template<class Scalar >
virtual bool Thyra::MultiVectorRandomizerBase< Scalar >::isCompatible ( const VectorSpaceBase< Scalar > &  space) const
pure virtual

Determines if *this is compatible with multi-vectors from the VectorSpace space.

Implemented in Thyra::ListedMultiVectorRandomizer< Scalar >, and Thyra::UniversalMultiVectorRandomizer< Scalar >.

template<class Scalar >
void Thyra::MultiVectorRandomizerBase< Scalar >::randomize ( const Ptr< MultiVectorBase< Scalar > > &  mv)
inline

Randomize a "compatible" multi-vector.

Preconditions:

  • mv!=NULL
  • this->isCompatible(*mv->range()) == true

Definition at line 50 of file Thyra_MultiVectorRandomizerBase.hpp.


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