GNU Radio's GSM Package
|
#include <Vector.h>
Public Member Functions | |
size_t | size () const |
size_t | bytes () const |
void | resize (size_t newElements) |
void | clear () |
void | clone (const VectorBase< T > &other) |
void | vConcat (const VectorBase< T > &other1, const VectorBase< T > &other2) |
~VectorBase () | |
bool | isOwner () |
std::string | inspect () const |
void | copyToSegment (VectorBase< T > &other, size_t start, size_t span) const |
void | copyToSegment (VectorBase< T > &other, size_t start=0) const |
void | copyTo (VectorBase< T > &other) const |
void | segmentCopyTo (VectorBase< T > &other, size_t start, size_t span) const |
void | fill (const T &val) |
void | fill (const T &val, unsigned start, unsigned length) |
void | operator= (const VectorBase< T > &other) |
T & | operator[] (size_t index) |
const T & | operator[] (size_t index) const |
const T * | begin () const |
T * | begin () |
const T * | end () const |
T * | end () |
const T * | getData () const |
Protected Types | |
typedef T * | VectorDataType |
Protected Member Functions | |
void | vInit (size_t elements) |
void | shiftMem (VectorBase< T > &other) |
void | makeAlias (const VectorBase< T > &other) |
VectorBase () | |
VectorBase (VectorDataType wData, T *wStart, T *wEnd) | |
Protected Attributes | |
VectorDataType | mData |
allocated data block. More... | |
T * | mStart |
start of useful data More... | |
T * | mEnd |
end of useful data + 1 More... | |
A simplified Vector template with aliases. Unlike std::vector, this class does not support dynamic resizing. Unlike std::vector, this class does support "aliases" and subvectors.
|
protected |
|
inlineprotected |
|
inlineprotected |
Build a Vector with explicit values.
References VectorBase< T >::getData(), and VECTORDEBUG.
|
inline |
Destroy a Vector, deleting held memory.
References VectorBase< T >::clear(), and VECTORDEBUG.
|
inline |
References VectorBase< T >::mStart.
|
inline |
References VectorBase< T >::mStart.
|
inline |
Return size in bytes.
References VectorBase< T >::size().
Referenced by VectorBase< T >::clone(), and VectorBase< T >::vConcat().
|
inline |
Release memory and clear pointers.
References VectorBase< T >::resize().
Referenced by VectorBase< T >::makeAlias(), VectorBase< T >::shiftMem(), and VectorBase< T >::~VectorBase().
|
inline |
Copy data from another vector.
References VectorBase< T >::bytes(), VectorBase< T >::mData, VectorBase< T >::mStart, VectorBase< T >::resize(), and VectorBase< T >::size().
Referenced by BitVector::cloneSegment(), Vector< T >::operator=(), VectorBase< T >::operator=(), and Vector< T >::Vector().
|
inline |
References VectorBase< T >::copyToSegment(), and VectorBase< T >::size().
|
inline |
Copy part of this Vector to a segment of another Vector.
other | The other vector. |
start | The start point in the other vector. |
span | The number of elements to copy. |
References VectorBase< T >::mEnd, and VectorBase< T >::mStart.
Referenced by VectorBase< T >::copyTo().
|
inline |
Copy all of this Vector to a segment of another Vector.
References VectorBase< T >::copyToSegment(), and VectorBase< T >::size().
Referenced by VectorBase< T >::copyToSegment().
|
inline |
References VectorBase< T >::mEnd.
|
inline |
References VectorBase< T >::mEnd.
Referenced by VectorBase< T >::fill().
|
inline |
References VectorBase< T >::mEnd, and VectorBase< T >::mStart.
|
inline |
References VectorBase< T >::end(), VectorBase< T >::mEnd, and VectorBase< T >::mStart.
|
inline |
References VectorBase< T >::mData.
Referenced by BitVector::BitVector(), VectorBase< T >::makeAlias(), VectorBase< T >::operator=(), and VectorBase< T >::VectorBase().
|
inline |
References VectorBase< T >::mData, VectorBase< T >::mEnd, and VectorBase< T >::mStart.
|
inline |
References VectorBase< T >::mData.
|
inlineprotected |
References VectorBase< T >::clear(), VectorBase< T >::getData(), VectorBase< T >::mEnd, and VectorBase< T >::mStart.
Referenced by VectorBase< T >::operator=().
|
inline |
Assign from another Vector.
References VectorBase< T >::clone(), VectorBase< T >::getData(), and VectorBase< T >::makeAlias().
|
inline |
References VectorBase< T >::mEnd, and VectorBase< T >::mStart.
|
inline |
References VectorBase< T >::mEnd, and VectorBase< T >::mStart.
|
inline |
Change the size of the Vector in items (not bytes), discarding content.
References VectorBase< T >::mData, VECTORDEBUG, and VectorBase< T >::vInit().
Referenced by VectorBase< T >::clear(), VectorBase< T >::clone(), VectorBase< T >::vConcat(), and Vector< T >::Vector().
|
inline |
Copy a segment of this vector into another.
other | The other vector (to copt into starting at 0.) |
start | The start point in this vector. |
span | The number of elements to copy. WARNING: This function does NOT resize the result - you must set the result size before entering. |
References VectorBase< T >::mEnd, and VectorBase< T >::mStart.
|
inlineprotected |
Assign from another Vector, shifting ownership.
References VectorBase< T >::clear(), VectorBase< T >::mData, VectorBase< T >::mEnd, VectorBase< T >::mStart, and VECTORDEBUG.
Referenced by Vector< T >::operator=().
|
inline |
Return the size of the Vector in units, ie, the number of T elements.
References VectorBase< T >::mData, VectorBase< T >::mEnd, and VectorBase< T >::mStart.
Referenced by VectorBase< T >::bytes(), VectorBase< T >::clone(), VectorBase< T >::copyTo(), VectorBase< T >::copyToSegment(), operator<<(), Vector< T >::tail(), and VectorBase< T >::vConcat().
|
inline |
References VectorBase< T >::bytes(), VectorBase< T >::mStart, VectorBase< T >::resize(), and VectorBase< T >::size().
Referenced by Vector< T >::Vector().
|
inlineprotected |
References VectorBase< T >::mData, VectorBase< T >::mEnd, and VectorBase< T >::mStart.
Referenced by VectorBase< T >::resize().
|
protected |
allocated data block.
Referenced by VectorBase< T >::clone(), VectorBase< T >::getData(), VectorBase< T >::inspect(), VectorBase< T >::isOwner(), VectorBase< T >::resize(), VectorBase< T >::shiftMem(), VectorBase< T >::size(), Vector< T >::Vector(), and VectorBase< T >::vInit().
|
protected |
end of useful data + 1
Referenced by VectorBase< T >::copyToSegment(), VectorBase< T >::end(), VectorBase< T >::fill(), VectorBase< T >::inspect(), VectorBase< T >::makeAlias(), VectorBase< T >::operator[](), Vector< T >::segment(), VectorBase< T >::segmentCopyTo(), VectorBase< T >::shiftMem(), VectorBase< T >::size(), and VectorBase< T >::vInit().
|
protected |
start of useful data
Referenced by VectorBase< T >::begin(), VectorBase< T >::clone(), VectorBase< T >::copyToSegment(), BitVector::dup(), VectorBase< T >::fill(), VectorBase< T >::inspect(), VectorBase< T >::makeAlias(), VectorBase< T >::operator[](), VectorBase< T >::segmentCopyTo(), VectorBase< T >::shiftMem(), VectorBase< T >::size(), VectorBase< T >::vConcat(), and VectorBase< T >::vInit().