Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_VectorSpaceFactoryBase.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Thyra: Interfaces and Support for Abstract Numerical Algorithms
4 //
5 // Copyright 2004 NTESS and the Thyra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef THYRA_VECTOR_SPACE_FACTORY_DECL_HPP
11 #define THYRA_VECTOR_SPACE_FACTORY_DECL_HPP
12 
13 #include "Thyra_OperatorVectorTypes.hpp"
14 #include "Teuchos_Describable.hpp"
15 
16 namespace Thyra {
17 
29 template<class Scalar>
30 class VectorSpaceFactoryBase : virtual public Teuchos::Describable {
31 public:
32 
35 
38 
56  virtual RCP< const VectorSpaceBase<Scalar> > createVecSpc(int dim) const = 0;
57 
59 
60 private:
61 
62  // Not defined and not to be called
64  operator=(const VectorSpaceFactoryBase<Scalar>&);
65 
66 };
67 
68 
69 } // end namespace Thyra
70 
71 
72 #endif // THYRA_VECTOR_SPACE_FACTORY_DECL_HPP
Abstract interface for objects that can create vector spaces of a specified dimension.
virtual RCP< const VectorSpaceBase< Scalar > > createVecSpc(int dim) const =0
Create a vector space of the given dimension.