47 #ifndef SLAP_VECTOR_DENSE_ENCAP_H
48 #define SLAP_VECTOR_DENSE_ENCAP_H
50 #include "AbstractLinAlgPack_Types.hpp"
51 #include "AbstractLinAlgPack_VectorMutable.hpp"
52 #include "DenseLinAlgPack_DVectorClass.hpp"
54 namespace AbstractLinAlgPack {
91 RTOpPack::SubVector sub_vec_;
120 RTOpPack::MutableSubVector sub_vec_;
134 VectorDenseEncap::VectorDenseEncap(
const Vector& vec )
139 const_cast<value_type*>(sub_vec_.values())
193 #endif // SLAP_VECTOR_DENSE_ENCAP_H
const DVectorSlice & operator()() const
Returns a reference to a constant view of the dense vector.
virtual void get_sub_vector(const Range1D &rng, RTOpPack::SubVector *sub_vec) const
Get a non-mutable explicit view of a sub-vector.
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
DVectorSlice & operator()()
Returns a reference to a constant view of the dense vector.
virtual void commit_sub_vector(RTOpPack::MutableSubVector *sub_vec)
Free a mutable explicit view of a sub-vector.
~VectorDenseMutableEncap()
Calls vec.commit_sub_vector(&sub_vec) to release the view.
~VectorDenseEncap()
Calls vec.free_sub_vector(&sub_vec) to release the view.
Extract a constant DenseLinAlgPack::DVectorSlice view of a Vector object.
virtual void free_sub_vector(RTOpPack::SubVector *sub_vec) const
Free an explicit view of a sub-vector.
void bind(VectorSliceTmpl< value_type > vs)
virtual void get_sub_vector(const Range1D &rng, RTOpPack::MutableSubVector *sub_vec)
Get a mutable explicit view of a sub-vector.
Abstract interface for mutable coordinate vectors {abstract}.
Extract a non-const DenseLinAlgPack::DVectorSlice view of a VectorMutable object. ...