10#ifndef THYRA_PRODUCT_VECTOR_SPACE_BASE_HPP 
   11#define THYRA_PRODUCT_VECTOR_SPACE_BASE_HPP 
   14#include "Thyra_VectorSpaceBase.hpp" 
   15#include "Teuchos_ExpandScalarTypeMacros.hpp" 
  101template<
class Scalar>
 
  106  const bool forceSuccess = 
true 
 
  119template<
class Scalar>
 
  124  const bool forceSuccess = 
true 
 
  141  const bool forceSuccess = 
true 
  144  return nonconstProductVectorSpaceBase<double>(vs, forceSuccess);
 
 
  156  const bool forceSuccess = 
true 
  159  return productVectorSpaceBase<double>(vs, forceSuccess);
 
 
RCP< const ProductVectorSpaceBase< Scalar > > productVectorSpaceBase(const RCP< const VectorSpaceBase< Scalar > > &v, const bool forceSuccess=true)
Dynamic cast from a const VectorSpaceBase to a const ProductVectorSpaceBase object and thow exception...
 
RCP< ProductVectorSpaceBase< double > > nonconstProductVectorSpaceBase(const RCP< VectorSpaceBase< double > > &vs, const bool forceSuccess=true)
Inline overload of nonconstProductVectorSpaceBase<Scalar>(..) for double.
 
virtual int numBlocks() const =0
Returns the number of blocks that make up this product space.
 
RCP< ProductVectorSpaceBase< Scalar > > nonconstProductVectorSpaceBase(const RCP< VectorSpaceBase< Scalar > > &v, const bool forceSuccess=true)
Dynamic cast from a VectorSpaceBase to a ProductVectorSpaceBase object and thow exception if this fai...
 
RCP< const ProductVectorSpaceBase< double > > productVectorSpaceBase(const RCP< const VectorSpaceBase< double > > &vs, const bool forceSuccess=true)
Inline overload of productVectorSpaceBase<Scalar>(..) for double.
 
virtual Teuchos::RCP< const VectorSpaceBase< Scalar > > getBlock(const int k) const =0
Returns a vector space for the kth (zero-based) block.
 
Abstract interface for objects that represent a space for vectors.
 
T_To & dyn_cast(T_From &from)