#include <Thyra_VectorBaseDecl.hpp>
Inheritance diagram for Thyra::VectorBase< Scalar >:
Space membership  
virtual Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > >  space () const =0 
Return a smart pointer to the vector space that this vector belongs to.  
Reduction/Transformation operator support  
virtual void  applyOp (const RTOpPack::RTOpT< Scalar > &op, const int num_vecs, const VectorBase< Scalar > *const vecs[], const int num_targ_vecs, VectorBase< Scalar > *const targ_vecs[], RTOpPack::ReductTarget *reduct_obj, const Index first_ele_offset, const Index sub_dim, const Index global_offset) const =0 
Apply a reduction/transformation operator over a set of vectors: op(op(v[0]...v[nv1],z[0]...z[nz1]),(*reduct_obj)) > z[0]...z[nz1],(*reduct_obj) .  
Vector Cloning  
virtual Teuchos::RefCountPtr< VectorBase< Scalar > >  clone_v () const =0 
Returns a cloned copy of *this vector.  
Explicit subvector access  
virtual void  acquireDetachedView (const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const =0 
Get a nonmutable explicit view of a subvector.  
virtual void  releaseDetachedView (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const =0 
Free an explicit view of a subvector.  
virtual void  acquireDetachedView (const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec)=0 
Get a mutable explicit view of a subvector.  
virtual void  commitDetachedView (RTOpPack::SubVectorView< Scalar > *sub_vec)=0 
Commit changes for a mutable explicit view of a subvector.  
virtual void  setSubVector (const RTOpPack::SparseSubVectorT< Scalar > &sub_vec)=0 
Set a specific subvector. 

Return a smart pointer to the vector space that this vector belongs to.
A return value of
If
New Behavior! It is required that the Implemented in Thyra::DefaultClusteredSpmdProductVector< Scalar >, Thyra::DefaultVectorMultiVector< Scalar >, Thyra::SpmdVectorBase< Scalar >, and Thyra::DefaultProductVector< Scalar >. 

Apply a reduction/transformation operator over a set of vectors: Preconditions:
The vector
See the documentation for the nonmember function Implemented in Thyra::DefaultClusteredSpmdProductVector< Scalar >, Thyra::DefaultVectorMultiVector< Scalar >, Thyra::SpmdVectorBase< Scalar >, and Thyra::DefaultProductVector< Scalar >. 

Returns a cloned copy of
This function exists to be consistent with the clone functions Subclasses should only consider overriding this function if there they want to be very sophisticated and implement some form of lazy evaluation in case the created object might not actually be modified before it is destroyed. However, this is not advised. Implemented in Thyra::VectorDefaultBase< Scalar >. 

Get a nonmutable explicit view of a subvector.
Postconditions:
This is only a transient view of a subvector that is to be immediately used and then released with a call to
Note that calling this function might require some dynamic memory allocations and temporary memory. Therefore, it is critical that
Heads Up! Note that client code in general should not directly call this function but should instead use the utility class
If Implemented in Thyra::DefaultVectorMultiVector< Scalar >, Thyra::SpmdVectorBase< Scalar >, Thyra::DefaultProductVector< Scalar >, and Thyra::VectorDefaultBase< Scalar >. 

Free an explicit view of a subvector.
Postconditions:
The subvector view must have been allocated by Implemented in Thyra::DefaultVectorMultiVector< Scalar >, Thyra::SpmdVectorBase< Scalar >, Thyra::DefaultProductVector< Scalar >, and Thyra::VectorDefaultBase< Scalar >. 

Get a mutable explicit view of a subvector.
Postconditions:
This is only a transient view of a subvector that is to be immediately used and then committed back with a call to
Note that calling this function might require some internal allocations and temporary memory. Therefore, it is critical that
Heads Up! Note that client code in general should not directly call this function but should instead use the utility class
If
Changes to the underlying subvector are not guaranteed to become permanent until Implemented in Thyra::DefaultVectorMultiVector< Scalar >, Thyra::SpmdVectorBase< Scalar >, Thyra::DefaultProductVector< Scalar >, and Thyra::VectorDefaultBase< Scalar >. 

Commit changes for a mutable explicit view of a subvector.
Postconditions:
The subvector view must have been allocated by Implemented in Thyra::DefaultVectorMultiVector< Scalar >, Thyra::SpmdVectorBase< Scalar >, Thyra::DefaultProductVector< Scalar >, and Thyra::VectorDefaultBase< Scalar >. 

Set a specific subvector.
Postconditions:
After this function returns, the corresponding elements in Implemented in Thyra::DefaultProductVector< Scalar >, and Thyra::VectorDefaultBase< Scalar >. 