42 #ifndef ALAP_VECTOR_SUB_VIEW_H
43 #define ALAP_VECTOR_SUB_VIEW_H
49 namespace AbstractLinAlgPack {
135 ,
const size_t num_vecs,
const Vector* vecs[]
137 ,RTOpPack::ReductTarget *reduct_obj
183 #endif // ALAP_VECTOR_SUB_VIEW_H
const VectorSpaceSubSpace & space_impl() const
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
void get_sub_vector(const Range1D &rng, RTOpPack::SubVector *sub_vec) const
RTOp_index_type index_type
Concrete subclass for a default sub-view implementation for a Vector object.
VectorSubView & operator=(const VectorSubView &)
const vec_ptr_t & full_vec() const
const VectorSpace & space() const
RTOp_value_type value_type
Concrete subclass for a default sub-space of a vector.
Teuchos::RCP< const Vector > vec_ptr_t
value_type get_ele(index_type i) const
void free_sub_vector(RTOpPack::SubVector *sub_vec) const
vec_ptr_t full_vec_
If full_vec_.get() == NULL, the vector is uninitalized (dim == 0).
. One-based subregion index range class.
RTOpT< RTOp_value_type > RTOp
Abstract interface for objects that represent a space for mutable coordinate vectors.
VectorSpaceSubSpace space_
The space that this vector belongs to.
VectorSubView()
Constructs to uninitialized.
void set_uninitialized()
Set uninitialized()
vec_ptr_t sub_view(const Range1D &rng) const
This is a base class that is meant to be inherited by Vector subclasses that wish to call TSFCore::ap...
Abstract interface for mutable coordinate vectors {abstract}.
void initialize(const vec_ptr_t &full_vec, const Range1D &rng)
Initialize a sub-view based on a full vector.
Class for a non-mutable sub-vector.
void apply_op(const RTOpPack::RTOp &op, const size_t num_vecs, const Vector *vecs[], const size_t num_targ_vecs, VectorMutable *targ_vecs[], RTOpPack::ReductTarget *reduct_obj, const index_type first_ele, const index_type sub_dim, const index_type global_offset) const
Calls apply_op() on the underlying full vectors.