Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_SpmdVectorSpaceBase_decl.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_SPMD_VECTOR_SPACE_BASE_BASE_DECL_HPP
11 #define THYRA_SPMD_VECTOR_SPACE_BASE_BASE_DECL_HPP
12 
13 #include "Thyra_VectorSpaceBase_decl.hpp"
14 #include "Teuchos_Comm.hpp"
15 
16 
17 namespace Thyra {
18 
19 
99 template<class Scalar>
100 class SpmdVectorSpaceBase : virtual public VectorSpaceBase<Scalar> {
101 public:
102 
105 
109 
115  virtual Ordinal localSubDim() const = 0;
116 
120  virtual Ordinal localOffset() const = 0;
121 
129  virtual Ordinal mapCode() const = 0;
130 
132  virtual bool isLocallyReplicated() const = 0;
133 
135 
136 private:
137 
138  // Not defined and not to be called
139  SpmdVectorSpaceBase<Scalar>&
140  operator=(const SpmdVectorSpaceBase<Scalar>&);
141 
142 };
143 
144 
145 } // end namespace Thyra
146 
147 
148 #endif // THYRA_SPMD_VECTOR_SPACE_BASE_BASE_DECL_HPP
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
virtual Teuchos::RCP< const Teuchos::Comm< Ordinal > > getComm() const =0
Returns the SPMD communicator.
virtual Ordinal localOffset() const =0
Returns the offset for the local sub-vector stored on this process.
virtual bool isLocallyReplicated() const =0
Returns true if vector space is locally replicated space.
virtual Ordinal localSubDim() const =0
Returns the number of local elements stored on this process.
virtual Ordinal mapCode() const =0
Returns the code for the mapping of elements to processes.