blitz  Version 0.9
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Types | Private Attributes
Vector< P_numtype > Class Template Reference

#include <vector.h>

Inheritance diagram for Vector< P_numtype >:
MemoryBlockReference< P_numtype >

List of all members.

Public Types

typedef P_numtype T_numtype
typedef Vector< T_numtypeT_vector
typedef VectorIter< T_numtypeT_iterator
typedef VectorIterConst
< T_numtype
T_constIterator
typedef VectorPick< T_numtypeT_pick
typedef Vector< int > T_indexVector

Public Member Functions

 Vector ()
 Vector (const Vector< T_numtype > &vec)
 Vector (int length)
 Vector (const Vector< T_numtype > &vec, Range r)
 Vector (int length, T_numtype initValue)
 Vector (int length, T_numtype firstValue, T_numtype delta)
template<typename P_distribution >
 Vector (int length, Random< P_distribution > &random)
template<typename P_expr >
 Vector (_bz_VecExpr< P_expr > expr)
 Vector (int length, T_numtype *restrict data, int stride=1)
 Vector (Range r)
void assertUnitStride ()
T_iterator beginFast ()
T_constIterator beginFast () const
T_vector copy () const
T_numtype *restrict data ()
const T_numtype *restrict data () const
bool isUnitStride () const
int length () const
void makeUnique ()
void reference (T_vector &)
void resize (int length)
void resizeAndPreserve (int newLength)
T_vector reverse ()
int stride () const
 operator _bz_VecExpr< VectorIterConst< T_numtype > > () const
int _bz_suggestLength () const
bool _bz_hasFastAccess () const
T_numtype_bz_fastAccess (int i)
T_numtype _bz_fastAccess (int i) const
template<typename P_expr , typename P_updater >
void _bz_assign (P_expr, P_updater)
_bz_VecExpr< T_constIterator_bz_asVecExpr () const
T_numtype operator() (int i) const
T_numtype &restrict operator() (int i)
T_numtype operator[] (int i) const
T_numtype &restrict operator[] (int i)
T_vector operator() (Range r)
T_vector operator[] (Range r)
T_pick operator() (T_indexVector i)
T_pick operator[] (T_indexVector i)
ListInitializationSwitch
< T_vector, T_iterator
operator= (T_numtype x)
T_iterator getInitializationIterator ()
T_vectorinitialize (T_numtype)
T_vectoroperator+= (T_numtype)
T_vectoroperator-= (T_numtype)
T_vectoroperator*= (T_numtype)
T_vectoroperator/= (T_numtype)
T_vectoroperator%= (T_numtype)
T_vectoroperator^= (T_numtype)
T_vectoroperator&= (T_numtype)
T_vectoroperator|= (T_numtype)
T_vectoroperator>>= (int)
T_vectoroperator<<= (int)
template<typename P_numtype2 >
T_vectoroperator= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator+= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator-= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator*= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator/= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator%= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator^= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator&= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator|= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator>>= (const Vector< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator<<= (const Vector< P_numtype2 > &)
template<typename P_expr >
T_vectoroperator= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator+= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator-= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator*= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator/= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator%= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator^= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator&= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator|= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator>>= (_bz_VecExpr< P_expr >)
template<typename P_expr >
T_vectoroperator<<= (_bz_VecExpr< P_expr >)
template<typename P_numtype2 >
T_vectoroperator= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator+= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator-= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator*= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator/= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator%= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator^= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator&= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator|= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator>>= (const VectorPick< P_numtype2 > &)
template<typename P_numtype2 >
T_vectoroperator<<= (const VectorPick< P_numtype2 > &)
T_vectoroperator= (Range)
T_vectoroperator+= (Range)
T_vectoroperator-= (Range)
T_vectoroperator*= (Range)
T_vectoroperator/= (Range)
T_vectoroperator%= (Range)
T_vectoroperator^= (Range)
T_vectoroperator&= (Range)
T_vectoroperator|= (Range)
T_vectoroperator>>= (Range)
T_vectoroperator<<= (Range)
template<typename P_distribution >
T_vectoroperator= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator+= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator-= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator*= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator/= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator%= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator^= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator&= (Random< P_distribution > &random)
template<typename P_distribution >
T_vectoroperator|= (Random< P_distribution > &random)

Private Types

typedef MemoryBlockReference
< P_numtype > 
T_base

Private Attributes

int length_
int stride_

Additional Inherited Members

- Protected Types inherited from MemoryBlockReference< P_numtype >
typedef P_numtype T_type
- Protected Member Functions inherited from MemoryBlockReference< P_numtype >
 MemoryBlockReference ()
 MemoryBlockReference (MemoryBlockReference< T_type > &ref, size_t offset=0)
 MemoryBlockReference (size_t length, T_type *data, preexistingMemoryPolicy deletionPolicy)
 MemoryBlockReference (size_t items)
void blockRemoveReference ()
 ~MemoryBlockReference ()
int numReferences () const
void changeToNullBlock ()
void changeBlock (MemoryBlockReference< T_type > &ref, size_t offset=0)
void newBlock (size_t items)

Member Typedef Documentation

template<typename P_numtype>
typedef MemoryBlockReference<P_numtype> Vector< P_numtype >::T_base
private
template<typename P_numtype>
typedef VectorIterConst<T_numtype> Vector< P_numtype >::T_constIterator
template<typename P_numtype>
typedef Vector<int> Vector< P_numtype >::T_indexVector
template<typename P_numtype>
typedef VectorIter<T_numtype> Vector< P_numtype >::T_iterator
template<typename P_numtype>
typedef P_numtype Vector< P_numtype >::T_numtype
template<typename P_numtype>
typedef VectorPick<T_numtype> Vector< P_numtype >::T_pick
template<typename P_numtype>
typedef Vector<T_numtype> Vector< P_numtype >::T_vector

Constructor & Destructor Documentation

template<typename P_numtype>
Vector< P_numtype >::Vector ( )
inline
template<typename P_numtype>
Vector< P_numtype >::Vector ( const Vector< T_numtype > &  vec)
inline
template<typename P_numtype>
Vector< P_numtype >::Vector ( int  length)
inlineexplicit
template<typename P_numtype>
Vector< P_numtype >::Vector ( const Vector< T_numtype > &  vec,
Range  r 
)
inline
template<typename P_numtype>
Vector< P_numtype >::Vector ( int  length,
T_numtype  initValue 
)
inline
template<typename P_numtype>
Vector< P_numtype >::Vector ( int  length,
T_numtype  firstValue,
T_numtype  delta 
)
inline
template<typename P_numtype>
template<typename P_distribution >
Vector< P_numtype >::Vector ( int  length,
Random< P_distribution > &  random 
)
inline
template<typename P_numtype>
template<typename P_expr >
Vector< P_numtype >::Vector ( _bz_VecExpr< P_expr >  expr)
inline
template<typename P_numtype>
Vector< P_numtype >::Vector ( int  length,
T_numtype *restrict  data,
int  stride = 1 
)
inline
template<typename P_numtype>
Vector< P_numtype >::Vector ( Range  r)
inline

Member Function Documentation

template<typename P_numtype>
template<typename P_expr , typename P_updater >
void Vector< P_numtype >::_bz_assign ( P_expr  ,
P_updater   
)
template<typename P_numtype>
_bz_VecExpr<T_constIterator> Vector< P_numtype >::_bz_asVecExpr ( ) const
inline
template<typename P_numtype>
T_numtype& Vector< P_numtype >::_bz_fastAccess ( int  i)
inline
template<typename P_numtype>
T_numtype Vector< P_numtype >::_bz_fastAccess ( int  i) const
inline
template<typename P_numtype>
bool Vector< P_numtype >::_bz_hasFastAccess ( ) const
inline
template<typename P_numtype>
int Vector< P_numtype >::_bz_suggestLength ( ) const
inline
template<typename P_numtype>
void Vector< P_numtype >::assertUnitStride ( )
inline
template<typename P_numtype>
T_iterator Vector< P_numtype >::beginFast ( )
inline
template<typename P_numtype>
T_constIterator Vector< P_numtype >::beginFast ( ) const
inline
template<typename P_numtype>
T_vector Vector< P_numtype >::copy ( ) const
template<typename P_numtype>
T_numtype* restrict Vector< P_numtype >::data ( )
inline
template<typename P_numtype>
const T_numtype* restrict Vector< P_numtype >::data ( ) const
inline
template<typename P_numtype>
T_iterator Vector< P_numtype >::getInitializationIterator ( )
inline
template<typename P_numtype>
T_vector& Vector< P_numtype >::initialize ( T_numtype  )
template<typename P_numtype>
bool Vector< P_numtype >::isUnitStride ( ) const
inline
template<typename P_numtype>
int Vector< P_numtype >::length ( ) const
inline
template<typename P_numtype>
void Vector< P_numtype >::makeUnique ( )
template<typename P_numtype>
Vector< P_numtype >::operator _bz_VecExpr< VectorIterConst< T_numtype > > ( ) const
inline
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator%= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator%= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator%= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator%= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator%= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator%= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator&= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator&= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator&= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator&= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator&= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator&= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_numtype Vector< P_numtype >::operator() ( int  i) const
inline
template<typename P_numtype>
T_numtype& restrict Vector< P_numtype >::operator() ( int  i)
inline
template<typename P_numtype>
T_vector Vector< P_numtype >::operator() ( Range  r)
inline
template<typename P_numtype>
T_pick Vector< P_numtype >::operator() ( T_indexVector< P_numtype >  i)
inline
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator*= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator*= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator*= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator*= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator*= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator*= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator+= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator+= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator+= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator+= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator+= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator+= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator-= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator-= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator-= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator-= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator-= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator-= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator/= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator/= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator/= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator/= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator/= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator/= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator<<= ( int  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator<<= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator<<= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator<<= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator<<= ( Range  )
template<typename P_numtype>
ListInitializationSwitch<T_vector,T_iterator> Vector< P_numtype >::operator= ( T_numtype  x)
inline
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator>>= ( int  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator>>= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator>>= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator>>= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator>>= ( Range  )
template<typename P_numtype>
T_numtype Vector< P_numtype >::operator[] ( int  i) const
inline
template<typename P_numtype>
T_numtype& restrict Vector< P_numtype >::operator[] ( int  i)
inline
template<typename P_numtype>
T_vector Vector< P_numtype >::operator[] ( Range  r)
inline
template<typename P_numtype>
T_pick Vector< P_numtype >::operator[] ( T_indexVector< P_numtype >  i)
inline
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator^= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator^= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator^= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator^= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator^= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator^= ( Random< P_distribution > &  random)
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator|= ( T_numtype  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator|= ( const Vector< P_numtype2 > &  )
template<typename P_numtype>
template<typename P_expr >
T_vector& Vector< P_numtype >::operator|= ( _bz_VecExpr< P_expr >  )
template<typename P_numtype>
template<typename P_numtype2 >
T_vector& Vector< P_numtype >::operator|= ( const VectorPick< P_numtype2 > &  )
template<typename P_numtype>
T_vector& Vector< P_numtype >::operator|= ( Range  )
template<typename P_numtype>
template<typename P_distribution >
T_vector& Vector< P_numtype >::operator|= ( Random< P_distribution > &  random)
template<typename P_numtype>
void Vector< P_numtype >::reference ( T_vector )
template<typename P_numtype>
void Vector< P_numtype >::resize ( int  length)
template<typename P_numtype>
void Vector< P_numtype >::resizeAndPreserve ( int  newLength)
template<typename P_numtype>
T_vector Vector< P_numtype >::reverse ( )
inline
template<typename P_numtype>
int Vector< P_numtype >::stride ( ) const
inline

Member Data Documentation

template<typename P_numtype>
int Vector< P_numtype >::length_
private
template<typename P_numtype>
int Vector< P_numtype >::stride_
private

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