Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
operator_vector
adapter_support
Thyra_DefaultSpmdVector_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_DEFAULT_SPMD_VECTOR_DECL_HPP
11
#define THYRA_DEFAULT_SPMD_VECTOR_DECL_HPP
12
13
14
#include "Thyra_SpmdVectorDefaultBase_decl.hpp"
15
16
17
namespace
Thyra {
18
19
36
template
<
class
Scalar>
37
class
DefaultSpmdVector
:
virtual
public
SpmdVectorDefaultBase
<Scalar> {
38
public
:
39
42
43
45
DefaultSpmdVector
();
46
48
DefaultSpmdVector
(
49
const
RCP
<
const
SpmdVectorSpaceBase<Scalar>
> &
spmdSpace
50
,
const
ArrayRCP<Scalar>
&localValues
51
,
const
Ordinal stride
52
);
53
79
void
initialize
(
80
const
RCP
<
const
SpmdVectorSpaceBase<Scalar>
> &
spmdSpace
81
,
const
ArrayRCP<Scalar>
&localValues
82
,
const
Ordinal stride
83
);
84
90
void
uninitialize
(
91
RCP
<
const
SpmdVectorSpaceBase<Scalar>
> *
spmdSpace
= NULL
92
,
ArrayRCP<Scalar>
*localValues = NULL
93
,Ordinal *stride = NULL
94
);
95
97
100
102
ArrayRCP<Scalar>
getRCPtr
();
104
ArrayRCP<const Scalar>
getRCPtr
()
const
;
106
Scalar*
getPtr
();
108
const
Scalar*
getPtr
()
const
;
110
Ordinal
getStride
()
const
;
111
113
116
118
RCP<const SpmdVectorSpaceBase<Scalar>
>
spmdSpaceImpl
()
const
;
119
121
124
125
void
getNonconstLocalVectorDataImpl
(
const
Ptr
<
ArrayRCP<Scalar>
> &localValues);
127
void
getLocalVectorDataImpl
(
const
Ptr
<
ArrayRCP<const Scalar>
> &localValues)
const
;
128
130
131
private
:
132
133
// ///////////////////////////////////////
134
// Private data members
135
136
RCP<const SpmdVectorSpaceBase<Scalar>
> spmdSpace_;
137
ArrayRCP<Scalar>
localValues_;
138
Ordinal stride_;
139
140
};
141
142
143
// /////////////////////////////////////////////////////
144
// Inline members
145
146
147
template
<
class
Scalar>
148
inline
149
ArrayRCP<Scalar>
150
DefaultSpmdVector<Scalar>::getRCPtr
()
151
{
152
return
localValues_;
153
}
154
155
156
template
<
class
Scalar>
157
inline
158
ArrayRCP<const Scalar>
159
DefaultSpmdVector<Scalar>::getRCPtr
()
const
160
{
161
return
localValues_;
162
}
163
164
165
template
<
class
Scalar>
166
inline
167
Scalar*
DefaultSpmdVector<Scalar>::getPtr
()
168
{
169
return
localValues_.
get
();
170
}
171
172
173
template
<
class
Scalar>
174
inline
175
const
Scalar*
DefaultSpmdVector<Scalar>::getPtr
()
const
176
{
177
return
localValues_.get();
178
}
179
180
181
template
<
class
Scalar>
182
inline
183
Ordinal
DefaultSpmdVector<Scalar>::getStride
()
const
184
{
185
return
stride_;
186
}
187
188
189
}
// end namespace Thyra
190
191
192
#endif
// THYRA_DEFAULT_SPMD_VECTOR_DECL_HPP
Teuchos::ArrayRCP
Teuchos::ArrayRCP::get
T * get() const
Teuchos::Ptr
Teuchos::RCP
Thyra::DefaultSpmdVector::spmdSpaceImpl
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpaceImpl() const
Definition
Thyra_DefaultSpmdVector_def.hpp:85
Thyra::DefaultSpmdVector::getNonconstLocalVectorDataImpl
void getNonconstLocalVectorDataImpl(const Ptr< ArrayRCP< Scalar > > &localValues)
Definition
Thyra_DefaultSpmdVector_def.hpp:95
Thyra::DefaultSpmdVector::getStride
Ordinal getStride() const
Definition
Thyra_DefaultSpmdVector_decl.hpp:183
Thyra::DefaultSpmdVector::getLocalVectorDataImpl
void getLocalVectorDataImpl(const Ptr< ArrayRCP< const Scalar > > &localValues) const
Definition
Thyra_DefaultSpmdVector_def.hpp:103
Thyra::DefaultSpmdVector::getRCPtr
ArrayRCP< Scalar > getRCPtr()
Definition
Thyra_DefaultSpmdVector_decl.hpp:150
Thyra::DefaultSpmdVector::initialize
void initialize(const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const ArrayRCP< Scalar > &localValues, const Ordinal stride)
Initialize.
Definition
Thyra_DefaultSpmdVector_def.hpp:43
Thyra::DefaultSpmdVector::DefaultSpmdVector
DefaultSpmdVector()
Construct to uninitialized.
Definition
Thyra_DefaultSpmdVector_def.hpp:26
Thyra::DefaultSpmdVector::uninitialize
void uninitialize(RCP< const SpmdVectorSpaceBase< Scalar > > *spmdSpace=NULL, ArrayRCP< Scalar > *localValues=NULL, Ordinal *stride=NULL)
Set to an uninitialized state.
Definition
Thyra_DefaultSpmdVector_def.hpp:62
Thyra::DefaultSpmdVector::getPtr
Scalar * getPtr()
Definition
Thyra_DefaultSpmdVector_decl.hpp:167
Thyra::SpmdMultiVectorBase::spmdSpace
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpace() const
Returns the SPMD vector space object for the range of *this multi-vector.
Definition
Thyra_SpmdMultiVectorBase.hpp:45
Thyra::SpmdVectorDefaultBase::SpmdVectorDefaultBase
SpmdVectorDefaultBase()
Definition
Thyra_SpmdVectorDefaultBase_def.hpp:37
Thyra::SpmdVectorSpaceBase
Base abstract VectorSpaceBase class for all SPMD-based vector spaces.
Definition
Thyra_SpmdVectorSpaceBase_decl.hpp:100
Generated by
1.17.0