AbstractLinAlgPack::VectorSpaceFactory Class Reference

Abstract interface for objects that can create vector spaces of a specified dimension. More...

#include <AbstractLinAlgPack_VectorSpaceFactory.hpp>

Inheritance diagram for AbstractLinAlgPack::VectorSpaceFactory:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Teuchos::RCP< const
InnerProduct
inner_prod_ptr_t
 
typedef Teuchos::RCP< const
VectorSpace
space_ptr_t
 

Constructors / initializers



virtual ~VectorSpaceFactory ()
 
 VectorSpaceFactory (const inner_prod_ptr_t &inner_prod=Teuchos::null)
 Calls inner_prod().
virtual void inner_prod (const inner_prod_ptr_t &inner_prod)
 Initialize with an inner product object that will be given to vector.
virtual const inner_prod_ptr_t inner_prod () const
 Return the smart pointer to the inner product strategy object.

Pure virtual functions that must be overridden



virtual space_ptr_t create_vec_spc (index_type dim) const =0
 Create a vector space of the given dimension.

Detailed Description

Abstract interface for objects that can create vector spaces of a specified dimension.

ToDo: Finish documentation!

Definition at line 41 of file AbstractLinAlgPack_VectorSpaceFactory.hpp.


Member Typedef Documentation

Definition at line 46 of file AbstractLinAlgPack_VectorSpaceFactory.hpp.

Definition at line 48 of file AbstractLinAlgPack_VectorSpaceFactory.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::VectorSpaceFactory::~VectorSpaceFactory (  )  [virtual]

Definition at line 36 of file AbstractLinAlgPack_VectorSpaceFactory.cpp.

AbstractLinAlgPack::VectorSpaceFactory::VectorSpaceFactory ( const inner_prod_ptr_t inner_prod = Teuchos::null  ) 

Calls inner_prod().

Definition at line 39 of file AbstractLinAlgPack_VectorSpaceFactory.cpp.


Member Function Documentation

virtual void AbstractLinAlgPack::VectorSpaceFactory::inner_prod ( const inner_prod_ptr_t inner_prod  )  [virtual]

Initialize with an inner product object that will be given to vector.

Parameters:
inner_prod [in] Smart pointer to inner product strategy object. If inner_prod.get()==NULL then an InnerProductDot object will be used instead.

Postconditions:

  • [inner_prod.get() != NULL] this->inner_prod().get() == inner_prod.get()
  • [inner_prod.get() == NULL] dynamic_cast<InnerProductDot*>(this->inner_prod().get()) != NULL
virtual const inner_prod_ptr_t AbstractLinAlgPack::VectorSpaceFactory::inner_prod (  )  const [virtual]

Return the smart pointer to the inner product strategy object.

Postconditions:

  • return.get() != NULL
virtual space_ptr_t AbstractLinAlgPack::VectorSpaceFactory::create_vec_spc ( index_type  dim  )  const [pure virtual]

Create a vector space of the given dimension.

Postconditions:

  • return.get() != NULL
  • return->dim() == dim
  • [this->inner_prod().get() != NULL] this->inner_prod().get() == return->inner_prod().get()
  • [this->inner_prod().get() == NULL] dynamic_cast<InnerProductDot*>(return->inner_prod().get()) != NULL
Returns:
Returns a smart reference counted pointer to a dynamically allocated vector space object that can be used to create vector.

Implemented in AbstractLinAlgPack::VectorSpaceFactorySerial.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Generated on Wed Apr 13 10:09:22 2011 for AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects by  doxygen 1.6.3