VectorView_< ELT > Class Template Reference

This class is identical to a Vector_; it is used only to manage the C++ rules for when copy constructors are called by introducing a separate type to prevent certain allowed optimizations from occuring when we don't want them. More...

#include <BigMatrix.h>

Inheritance diagram for VectorView_< ELT >:
VectorBase< ELT > MatrixBase< ELT >

List of all members.

Public Member Functions

 VectorView_ (MatrixHelperRep< S > *hrep)
 VectorView_ (const VectorView_ &v)
VectorView_operator= (const VectorView_ &v)
 Copy assignment is deep copy but behavior depends on type of lhs: if view, rhs must match.
 VectorView_ (const MatrixHelper< S > &h)
 VectorView_ (MatrixHelper< S > &h)
VectorView_operator= (const Base &b)
VectorView_operator= (const ELT &v)
 Fill current allocation with copies of element.
template<class EE >
VectorView_operator= (const VectorBase< EE > &m)
template<class EE >
VectorView_operator+= (const VectorBase< EE > &m)
template<class EE >
VectorView_operator-= (const VectorBase< EE > &m)
VectorView_operator*= (const StdNumber &t)
VectorView_operator/= (const StdNumber &t)
VectorView_operator+= (const ELT &b)
VectorView_operator-= (const ELT &b)

Related Functions

(Note that these are not member functions.)



Matrix_<T> serialization and I/O

These methods are at namespace scope but are logically part of the Vector classes.

These deal with reading and writing Vectors from and to streams, which places an additional requirement on the element type T: the element must support the same operation you are trying to do on the Vector as a whole.



template<class T >
static std::istream & fillVectorViewFromStream (std::istream &in, VectorView_< T > &out)
 Read in a fixed number of elements from a stream into an VectorView.

Detailed Description

template<class ELT>
class SimTK::VectorView_< ELT >

This class is identical to a Vector_; it is used only to manage the C++ rules for when copy constructors are called by introducing a separate type to prevent certain allowed optimizations from occuring when we don't want them.

Despite the name, this may be an owner if a Vector_ is recast to a VectorView_. However, there are no owner constructors for VectorView_.


Constructor & Destructor Documentation

VectorView_ ( MatrixHelperRep< S > *  hrep  )  [inline, explicit]
VectorView_ ( const VectorView_< ELT > &  v  )  [inline]
VectorView_ ( const MatrixHelper< S > &  h  )  [inline, explicit]
VectorView_ ( MatrixHelper< S > &  h  )  [inline, explicit]

Member Function Documentation

VectorView_& operator*= ( const StdNumber &  t  )  [inline]

Reimplemented from VectorBase< ELT >.

References VectorBase< ELT >::operator*=().

VectorView_& operator+= ( const ELT &  b  )  [inline]
VectorView_& operator+= ( const VectorBase< EE > &  m  )  [inline]
VectorView_& operator-= ( const ELT &  b  )  [inline]
VectorView_& operator-= ( const VectorBase< EE > &  m  )  [inline]
VectorView_& operator/= ( const StdNumber &  t  )  [inline]

Reimplemented from VectorBase< ELT >.

References VectorBase< ELT >::operator/=().

VectorView_& operator= ( const VectorBase< EE > &  m  )  [inline]
VectorView_& operator= ( const ELT &  t  )  [inline]

Fill current allocation with copies of element.

Note that this is not the same behavior as assignment for Matrices, where only the diagonal is set (and everything else is set to zero.)

Reimplemented from VectorBase< ELT >.

References VectorBase< ELT >::operator=().

VectorView_& operator= ( const Base b  )  [inline]
VectorView_& operator= ( const VectorView_< ELT > &  b  )  [inline]

Copy assignment is deep copy but behavior depends on type of lhs: if view, rhs must match.

If owner, we reallocate and copy rhs.

Reimplemented from VectorBase< ELT >.

References VectorBase< ELT >::operator=().


Friends And Related Function Documentation

static std::istream & fillVectorViewFromStream ( std::istream &  in,
VectorView_< T > &  out 
) [related]

Read in a fixed number of elements from a stream into an VectorView.

See fillVectorFromStream() for more information; this works the same way.

See also:
fillVectorFromStream()

The documentation for this class was generated from the following file:

Generated on Thu Aug 12 16:38:14 2010 for SimTKcore by  doxygen 1.6.1