10#ifndef THYRA_PRODUCT_MULTI_VECTOR_BASE_HPP 
   11#define THYRA_PRODUCT_MULTI_VECTOR_BASE_HPP 
   13#include "Thyra_MultiVectorBase.hpp" 
   18template<
class Scalar> 
class ProductVectorSpaceBase;
 
Interface for a collection of column vectors called a multi-vector.
 
Base interface for product multi-vectors.
 
virtual Teuchos::RCP< MultiVectorBase< Scalar > > getNonconstMultiVectorBlock(const int k)=0
Returns a non-persisting non-const view of the zero-based kth block multi-vector.
 
virtual Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > productSpace() const =0
Returns the associated product vector space that represents the range.
 
virtual bool blockIsConst(const int k) const =0
Return if the kth multi-vector block is const-only.
 
virtual Teuchos::RCP< const MultiVectorBase< Scalar > > getMultiVectorBlock(const int k) const =0
Returns a non-persisting const view of the (zero-based) kth block multi-vector.