42#ifndef THYRA_SPMD_MULTI_VECTOR_BASE_DECL_HPP
43#define THYRA_SPMD_MULTI_VECTOR_BASE_DECL_HPP
46#include "Thyra_MultiVectorBase.hpp"
52template<
class Scalar>
class SpmdVectorSpaceBase;
Interface for a collection of column vectors called a multi-vector.
Base interface class for SPMD multi-vectors.
RTOpPack::SubMultiVectorView< Scalar > getNonconstLocalSubMultiVector()
Get a non-const generalized view of local multi-vector data.
virtual void getLocalMultiVectorDataImpl(const Ptr< ArrayRCP< const Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) const =0
Virtual implementation for getLocalData().
virtual void getNonconstLocalMultiVectorDataImpl(const Ptr< ArrayRCP< Scalar > > &localValues, const Ptr< Ordinal > &leadingDim)=0
Virtual implementation for getNonconstLocalData().
virtual RTOpPack::SubMultiVectorView< Scalar > getNonconstLocalSubMultiVectorImpl()=0
Virtual implementation for getNonconstLocalSubMultiVector().
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpace() const
Returns the SPMD vector space object for the range of *this multi-vector.
void getLocalData(const Ptr< ArrayRCP< const Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) const
Returns a const pointer to a Fortran-style view of the local multi-vector data.
virtual RTOpPack::ConstSubMultiVectorView< Scalar > getLocalSubMultiVectorImpl() const =0
Virtual implementation for getLocalSubMultiVector().
virtual RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpaceImpl() const =0
Virtual implementation for spmdSpace().
RTOpPack::ConstSubMultiVectorView< Scalar > getLocalSubMultiVector() const
Get a const generalized view of local multi-vector data.
void getNonconstLocalData(const Ptr< ArrayRCP< Scalar > > &localValues, const Ptr< Ordinal > &leadingDim)
Returns a non-const pointer to a Fortran-style view of the local multi-vector data.