VectorBase object.
More...
#include <Thyra_DetachedVectorView.hpp>
Public Member Functions | |
| DetachedVectorView (const Teuchos::RCP< VectorBase< Scalar > > &v, const Range1D &rng=Range1D(), const bool forceUnitStride=false) | |
| Construct an explicit mutable (non-const) view of a subset of elements. | |
| DetachedVectorView (VectorBase< Scalar > &v, const Range1D &rng=Range1D(), const bool forceUnitStride=false) | |
| Construct an explicit mutable (non-const) view of a subset of elements. | |
| ~DetachedVectorView () | |
Commits back the the explicit view on the VectorBase object v passed to DetachedVectorView(). | |
| const RTOpPack::SubVectorView< Scalar > & | sv () const |
Returns the explicit view as an RTOpPack::ConstSubVectorView<Scalar> object. | |
| Teuchos_Index | globalOffset () const |
| Returns the global offset for the explicit view. | |
| Teuchos_Index | subDim () const |
| Returns the dimension of the explicit view. | |
| Scalar * | values () const |
Return a pointer to a Scalar array containing the explicit view. | |
| ptrdiff_t | stride () const |
Return the stride between elements in the array returned from this->values(). | |
| Scalar & | operator[] (Teuchos_Index i) const |
Zero-based indexing: Preconditions: values()!=NULL && (0 <= i < subDim()-1). | |
| Scalar & | operator() (Teuchos_Index i) const |
Zero-based indexing: Preconditions: values()!=NULL && (0 <= i < subDim()-1). | |
VectorBase object.
This utility class makes it easy to explicitly access a contiguous subset of elements in any VectorBase object and change the VectorBase object.
Warning! Creating an explicit view of an arbitrary VectorBase object may be a very expensive operation (such as with distributed-memory vectors) and should only be done in special cases (such as when the vector is an in-core vector). There several specialized use cases where creating these types of explicit views are necessary but in most cases this should not be done.
If one wants to only read the elements in a VectorBase object then one should use the utility class ConstDetachedVectorView.
The default constructor, copy constructor and assignment operators are not allowed.
Definition at line 241 of file Thyra_DetachedVectorView.hpp.
| Thyra::DetachedVectorView< Scalar >::DetachedVectorView | ( | const Teuchos::RCP< VectorBase< Scalar > > & | v, | |
| const Range1D & | rng = Range1D(), |
|||
| const bool | forceUnitStride = false | |||
| ) | [inline] |
Construct an explicit mutable (non-const) view of a subset of elements.
| v | [in] The vector that a view will be taken. This object must be maintained until *this is destroyed. The elements in v are not guaranteed to be updated until *this is destroyed. | |
| rng | [in] the range of element indices that the explicit view will be taken. | |
| forceUnitStride | [in] If true then the view will have unit stride. |
rng.full_range()==false] rng.ubound() < v.space()->dim()
Postconditions:
this->sv() returns the created view
this->globalOffset()==rng.lbound()
this->subDim()==rng.size()
this->values() returns a pointer to a Scalar array
this->stride() returns the stride between the elements pointed it in this->values()
forceUnitStride==true] this->stride()==1
Definition at line 280 of file Thyra_DetachedVectorView.hpp.
| Thyra::DetachedVectorView< Scalar >::DetachedVectorView | ( | VectorBase< Scalar > & | v, | |
| const Range1D & | rng = Range1D(), |
|||
| const bool | forceUnitStride = false | |||
| ) | [inline] |
Construct an explicit mutable (non-const) view of a subset of elements.
| v | [in] The vector that a view will be taken. This object must be maintained until *this is destroyed. The elements in v are not guaranteed to be updated until *this is destroyed. | |
| rng | [in] the range of element indices that the explicit view will be taken. | |
| forceUnitStride | [in] If true then the view will have unit stride. |
rng.full_range()==false] rng.ubound() < v.space()->dim() Postconditions:
this->sv() returns the created view
this->globalOffset()==rng.lbound()
this->subDim()==rng.size()
this->values() returns a pointer to a Scalar array
this->stride() returns the stride between the elements pointed it in this->values()
forceUnitStride==true] this->stride()==1
Definition at line 321 of file Thyra_DetachedVectorView.hpp.
| Thyra::DetachedVectorView< Scalar >::~DetachedVectorView | ( | ) | [inline] |
Commits back the the explicit view on the VectorBase object v passed to DetachedVectorView().
Definition at line 329 of file Thyra_DetachedVectorView.hpp.
| const RTOpPack::SubVectorView<Scalar>& Thyra::DetachedVectorView< Scalar >::sv | ( | ) | const [inline] |
Returns the explicit view as an RTOpPack::ConstSubVectorView<Scalar> object.
Definition at line 350 of file Thyra_DetachedVectorView.hpp.
| Teuchos_Index Thyra::DetachedVectorView< Scalar >::globalOffset | ( | ) | const [inline] |
Returns the global offset for the explicit view.
Definition at line 353 of file Thyra_DetachedVectorView.hpp.
| Teuchos_Index Thyra::DetachedVectorView< Scalar >::subDim | ( | ) | const [inline] |
Returns the dimension of the explicit view.
Definition at line 356 of file Thyra_DetachedVectorView.hpp.
| Scalar* Thyra::DetachedVectorView< Scalar >::values | ( | ) | const [inline] |
Return a pointer to a Scalar array containing the explicit view.
Definition at line 361 of file Thyra_DetachedVectorView.hpp.
| ptrdiff_t Thyra::DetachedVectorView< Scalar >::stride | ( | ) | const [inline] |
Return the stride between elements in the array returned from this->values().
Definition at line 366 of file Thyra_DetachedVectorView.hpp.
| Scalar& Thyra::DetachedVectorView< Scalar >::operator[] | ( | Teuchos_Index | i | ) | const [inline] |
Zero-based indexing: Preconditions: values()!=NULL && (0 <= i < subDim()-1).
Definition at line 371 of file Thyra_DetachedVectorView.hpp.
| Scalar& Thyra::DetachedVectorView< Scalar >::operator() | ( | Teuchos_Index | i | ) | const [inline] |
Zero-based indexing: Preconditions: values()!=NULL && (0 <= i < subDim()-1).
Definition at line 375 of file Thyra_DetachedVectorView.hpp.
1.4.7