AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | List of all members
AbstractLinAlgPack::VectorSpaceFactory Class Referenceabstract

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]

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() More...
 
virtual void inner_prod (const inner_prod_ptr_t &inner_prod)
 Initialize with an inner product object that will be given to vector. More...
 
virtual const inner_prod_ptr_t inner_prod () const
 Return the smart pointer to the inner product strategy object. More...
 

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. More...
 

Detailed Description

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

ToDo: Finish documentation!

Definition at line 54 of file AbstractLinAlgPack_VectorSpaceFactory.hpp.

Member Typedef Documentation

Definition at line 59 of file AbstractLinAlgPack_VectorSpaceFactory.hpp.

Definition at line 61 of file AbstractLinAlgPack_VectorSpaceFactory.hpp.

Constructor & Destructor Documentation

AbstractLinAlgPack::VectorSpaceFactory::~VectorSpaceFactory ( )
virtual

Definition at line 49 of file AbstractLinAlgPack_VectorSpaceFactory.cpp.

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

Calls inner_prod()

Definition at line 52 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: