|
| Vector () |
| A zero-length Vector. More...
|
|
| Vector (size_t Length) |
| A Vector with a defined length and origin of zero. More...
|
|
| Vector (size_t Length, ArrayInitPolicy initPolicy) |
|
| Vector (const IPosition &Length) |
|
| Vector (const IPosition &Length, ArrayInitPolicy initPolicy) |
|
| Vector (size_t Length, const T &initialValue) |
| A Vector with a defined length and origin of zero. More...
|
|
| Vector (const IPosition &Length, const T &initialValue) |
|
| Vector (const Block< T > &other, Int64 nr) |
| Create a Vector from the given Block "other." Make it length "nr" and copy over that many elements. More...
|
|
| Vector (const Block< T > &other) |
| Create a Vector of length other.nelements() and copy over its values. More...
|
|
| Vector (const Vector< T > &other) |
| Create a reference to other. More...
|
|
| Vector (const Array< T > &other) |
| Create a reference to the other array. More...
|
|
| Vector (const IPosition &shape, T *storage, StorageInitPolicy policy=COPY) |
| Create an Vector of a given shape from a pointer. More...
|
|
| Vector (const IPosition &shape, T *storage, StorageInitPolicy policy, AbstractAllocator< T > const &allocator) |
| Create an Vector of a given shape from a pointer. More...
|
|
| Vector (const IPosition &shape, const T *storage) |
| Create an Vector of a given shape from a pointer. More...
|
|
template<class U , class V > |
| Vector (const vector< U, V > &other) |
| Create a Vector from an STL vector (see tovector() in Array for the reverse operation). More...
|
|
template<typename Iterator > |
| Vector (Iterator first, size_t size, int dummy) |
| Create a Vector from a container iterator and its length. More...
|
|
virtual | ~Vector () |
| Define a destructor, otherwise the compiler makes a static one. More...
|
|
virtual void | assign (const Array< T > &other) |
| Assign the other array (which must be of dimension one) to this vector. More...
|
|
virtual void | reference (const Array< T > &other) |
| Create a reference to "other", which must be of dimension one. More...
|
|
void | resize (size_t len, Bool copyValues=False) |
|
void | resize (size_t len, Bool copyValues, ArrayInitPolicy policy) |
|
virtual void | resize () |
| Make this array a different shape. More...
|
|
virtual void | resize (const IPosition &len, Bool copyValues, ArrayInitPolicy policy) |
| Resize the array and optionally copy the values. More...
|
|
Vector< T > & | operator= (const Vector< T > &other) |
| Assign to this Vector. More...
|
|
virtual Array< T > & | operator= (const Array< T > &other) |
| Other must be a 1-dimensional array. More...
|
|
Array< T > & | operator= (const T &val) |
| Set every element of this Vector to Val. More...
|
|
Vector< T > & | operator= (const MaskedArray< T > &marray) |
| Copy to this those values in marray whose corresponding elements in marray's mask are True. More...
|
|
void | toBlock (Block< T > &other) const |
| Convert a Vector to a Block, resizing the block and copying values. More...
|
|
T & | operator[] (size_t index) |
| Single-pixel addressing. More...
|
|
const T & | operator[] (size_t index) const |
|
T & | operator() (const IPosition &i) |
|
const T & | operator() (const IPosition &i) const |
|
T & | operator() (size_t index) |
|
const T & | operator() (size_t index) const |
|
Vector< T > | operator() (const Slice &slice) |
| Take a slice of this vector. More...
|
|
const Vector< T > | operator() (const Slice &slice) const |
|
Array< T > | operator() (const IPosition &blc, const IPosition &trc, const IPosition &incr) |
| Slice using IPositions. More...
|
|
const Array< T > | operator() (const IPosition &blc, const IPosition &trc, const IPosition &incr) const |
|
Array< T > | operator() (const IPosition &blc, const IPosition &trc) |
|
const Array< T > | operator() (const IPosition &blc, const IPosition &trc) const |
|
Array< T > | operator() (const Slicer &slicer) |
|
const Array< T > | operator() (const Slicer &slicer) const |
|
MaskedArray< T > | operator() (const LogicalArray &mask) const |
| The array is masked by the input LogicalArray. More...
|
|
MaskedArray< T > | operator() (const LogicalArray &mask) |
| Return a MaskedArray. More...
|
|
MaskedArray< T > | operator() (const MaskedLogicalArray &mask) const |
| The array is masked by the input MaskedLogicalArray. More...
|
|
MaskedArray< T > | operator() (const MaskedLogicalArray &mask) |
| Return a MaskedArray. More...
|
|
const IPosition & | shape () const |
| The length of the Vector. More...
|
|
void | shape (Int &Shape) const |
|
virtual Bool | ok () const |
| Verify that dimensionality is 1 and then call Array<T>::ok() More...
|
|
| Array () |
| Result has dimensionality of zero, and nelements is zero. More...
|
|
| Array (const IPosition &shape) |
| Create an array of the given shape, i.e. More...
|
|
| Array (const IPosition &shape, ArrayInitPolicy initPolicy) |
| Create an array of the given shape, i.e. More...
|
|
| Array (const IPosition &shape, const T &initialValue) |
| Create an array of the given shape and initialize it with the initial value. More...
|
|
| Array (const Array< T > &other) |
| After construction, this and other reference the same storage. More...
|
|
| Array (const IPosition &shape, T *storage, StorageInitPolicy policy=COPY) |
| Create an Array of a given shape from a pointer. More...
|
|
| Array (const IPosition &shape, T *storage, StorageInitPolicy policy, AbstractAllocator< T > const &allocator) |
| Create an Array of a given shape from a pointer. More...
|
|
| Array (const IPosition &shape, const T *storage) |
| Create an Array of a given shape from a pointer. More...
|
|
virtual | ~Array () |
| Frees up storage only if this array was the last reference to it. More...
|
|
virtual CountedPtr< ArrayBase > | makeArray () const |
| Make an empty array of the same template type. More...
|
|
virtual void | assignBase (const ArrayBase &other, Bool checkType=True) |
| Assign the source array to this array. More...
|
|
void | set (const T &value) |
| Set every element of the array to "value." Also could use the assignment operator which assigns an array from a scalar. More...
|
|
void | apply (T(*function)(T)) |
| Apply the function to every element of the array. More...
|
|
void | apply (T(*function)(const T &)) |
| This version takes a function which takes a const T reference and returns a T. More...
|
|
void | apply (const Functional< T, T > &function) |
| This version applies a functional. More...
|
|
Array< T > & | operator= (const T &value) |
| Set every element of this array to "value". More...
|
|
Array< T > & | operator= (const MaskedArray< T > &marray) |
| Copy to this those values in marray whose corresponding elements in marray's mask are True. More...
|
|
Array< T > | copy (ArrayInitPolicy policy=ArrayInitPolicies::NO_INIT) const |
| This makes a copy of the array and returns it. More...
|
|
void | copyMatchingPart (const Array< T > &from) |
| This function copies the matching part of from array to this array. More...
|
|
void | unique () |
| This ensures that this array does not reference any other storage. More...
|
|
template<class U > |
void | tovector (vector< T, U > &out) const |
| Create an STL vector from an Array. More...
|
|
vector< T > | tovector () const |
|
Array< T > | reform (const IPosition &shape) const |
| It is occasionally useful to have an array which access the same storage appear to have a different shape. More...
|
|
bool | reformOrResize (const IPosition &newShape, uInt resizePercentage=0, Bool resizeIfNeeded=True) |
| Having an array that can be reused without requiring reallocation can be useful for large arrays. More...
|
|
bool | adjustLastAxis (const IPosition &newShape, uInt resizePercentage=0, bool resizeIfNeeded=True) |
| Use this method to extend or reduce the last dimension of an array. More...
|
|
size_t | capacity () const |
| Returns the number of elements allocated. More...
|
|
Array< T > | nonDegenerate (uInt startingAxis=0, Bool throwIfError=True) const |
| These member functions remove degenerate (ie. More...
|
|
Array< T > | nonDegenerate (const IPosition &ignoreAxes) const |
|
void | nonDegenerate (const Array< T > &other, uInt startingAxis=0, Bool throwIfError=True) |
|
void | nonDegenerate (const Array< T > &other, const IPosition &ignoreAxes) |
|
void | removeDegenerate (uInt startingAxis=0, Bool throwIfError=True) |
| Remove degenerate axes from this Array object. More...
|
|
void | removeDegenerate (const IPosition &ignoreAxes) |
|
const Array< T > | addDegenerate (uInt numAxes) const |
| This member function returns an Array reference with the specified number of extra axes, all of length one, appended to the end of the Array. More...
|
|
Array< T > | addDegenerate (uInt numAxes) |
|
virtual void | resize (const IPosition &newShape, Bool copyValues=False) |
| Resize the array and optionally copy the values. More...
|
|
T & | operator() (const IPosition &) |
| Access a single element of the array. More...
|
|
const T & | operator() (const IPosition &) const |
|
Array< T > | operator() (const IPosition &start, const IPosition &end) |
| Get a reference to an array section extending from start to end (inclusive). More...
|
|
const Array< T > | operator() (const IPosition &start, const IPosition &end) const |
|
Array< T > | operator() (const IPosition &start, const IPosition &end, const IPosition &inc) |
| Along the ith axis, every inc[i]'th element is chosen. More...
|
|
const Array< T > | operator() (const IPosition &start, const IPosition &end, const IPosition &inc) const |
|
Array< T > | operator() (const Slicer &) |
| Get a reference to an array section using a Slicer. More...
|
|
const Array< T > | operator() (const Slicer &) const |
|
virtual CountedPtr< ArrayBase > | getSection (const Slicer &) const |
| Get a reference to a section of an array. More...
|
|
Array< T > | operator[] (size_t i) const |
| Get the subset given by the i-th value of the last axis. More...
|
|
Array< T > | diagonals (uInt firstAxis=0, Int64 diag=0) const |
| Get the diagonal of each matrix part in the full array. More...
|
|
const MaskedArray< T > | operator() (const LogicalArray &mask) const |
| The array is masked by the input LogicalArray. More...
|
|
MaskedArray< T > | operator() (const LogicalArray &mask) |
|
const MaskedArray< T > | operator() (const MaskedLogicalArray &mask) const |
| The array is masked by the input MaskedLogicalArray. More...
|
|
MaskedArray< T > | operator() (const MaskedLogicalArray &mask) |
|
uInt | nrefs () const |
| The number of references the underlying storage has assigned to it. More...
|
|
Bool | conform (const Array< T > &other) const |
| Are the shapes identical? More...
|
|
Bool | conform (const MaskedArray< T > &other) const |
|
T * | data () |
| Get a pointer to the beginning of the array. More...
|
|
const T * | data () const |
|
T * | getStorage (Bool &deleteIt) |
| Generally use of this should be shunned, except to use a FORTRAN routine or something similar. More...
|
|
const T * | getStorage (Bool &deleteIt) const |
|
virtual void * | getVStorage (Bool &deleteIt) |
| The following functions behave the same as the corresponding getStorage functions in the derived templated Array class. More...
|
|
virtual const void * | getVStorage (Bool &deleteIt) const |
|
void | putStorage (T *&storage, Bool deleteAndCopy) |
| putStorage() is normally called after a call to getStorage() (cf). More...
|
|
virtual void | putVStorage (void *&storage, Bool deleteAndCopy) |
|
void | freeStorage (const T *&storage, Bool deleteIt) const |
| If deleteIt is set, delete "storage". More...
|
|
void | freeVStorage (const void *&storage, Bool deleteIt) const |
|
virtual void | takeStorage (const IPosition &shape, T *storage, StorageInitPolicy policy=COPY) |
| Replace the data values with those in the pointer storage . More...
|
|
virtual void | takeStorage (const IPosition &shape, T *storage, StorageInitPolicy policy, AbstractAllocator< T > const &allocator) |
| If policy is COPY , storage of a new copy is allocated by allocator . More...
|
|
virtual void | takeStorage (const IPosition &shape, const T *storage) |
| Since the pointer is const, a copy is always taken. More...
|
|
virtual void | takeStorage (const IPosition &shape, const T *storage, AbstractAllocator< T > const &allocator) |
| Since the pointer is const, a copy is always taken. More...
|
|
virtual CountedPtr
< ArrayPositionIterator > | makeIterator (uInt byDim) const |
| Create an ArrayIterator object of the correct type. More...
|
|
iterator | begin () |
| Get the begin iterator object for any array. More...
|
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
contiter | cbegin () |
| Get the begin iterator object for a contiguous array. More...
|
|
const_contiter | cbegin () const |
|
contiter | cend () |
|
const_contiter | cend () const |
|
| ArrayBase () |
|
| ArrayBase (const IPosition &shape) |
| Create an array of the given shape, i.e. More...
|
|
| ArrayBase (const ArrayBase &other) |
| Copy constructor. More...
|
|
ArrayBase & | operator= (const ArrayBase &) |
| Assignment. More...
|
|
virtual | ~ArrayBase () |
| Destructor. More...
|
|
uInt | ndim () const |
| The dimensionality of this array. More...
|
|
size_t | nelements () const |
| How many elements does this array have? Product of all axis lengths. More...
|
|
size_t | size () const |
|
Bool | empty () const |
| Is the array empty (i.e. More...
|
|
Bool | contiguousStorage () const |
| Are the array data contiguous? If they are not contiguous, getStorage (see below) needs to make a copy. More...
|
|
const IPosition & | shape () const |
| The length of each axis. More...
|
|
IPosition | endPosition () const |
| A convenience function: endPosition(i) = shape(i) - 1; i.e. More...
|
|
const IPosition & | steps () const |
| Return steps to be made if stepping one element in a dimension. More...
|
|
void | validateConformance (const ArrayBase &) const |
| Various helper functions. More...
|
|
void | validateIndex (const IPosition &) const |
|
void | validateIndex (uInt index) const |
|
void | validateIndex (uInt index1, uInt index2) const |
|
void | validateIndex (uInt index1, uInt index2, uInt index3) const |
|
template<class T>
class casacore::Vector< T >
A 1-D Specialization of the Array class.
forward declaration
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Vector objects are one-dimensional specializations (e.g., more convenient and efficient indexing) of the general Array class. You might also want to look at the Array documentation to see inherited functionality.
Generally the member functions of Array are also available in Vector versions which take an integer where the array needs an IPosition. Since the Vector is one-dimensional, the IPositions are overkill, although you may use those versions if you want to.
Vector<Int> vi(100);
vi.resize(50);
Slices may be taken with the Slice class. To take a slice, one "indexes" with Slice(start, length, inc) where end and inc are optional.
Vector<Float> vf(100);
vf(Slice(0,50,2)) = vf(Slice(1,50,2));
Vector<Float> firstHalf, secondHalf;
firstHalf.reference(vf(Slice(0,50)));
secondHalf.reference(vf(Slice(50,50)));
Element-by-element arithmetic and logical operations are available (in aips/ArrayMath.h and aips/ArrayLogical.h) as well as dot and cross products (in aips/MatrixMath.h).
A Vector can be constructed from an STL vector
. The reverse operation (Array::tovector()
) can construct an STL vector
from any Array.
Tip: To create any other STL container from an Array (or the reverse), always create from/to a vector
, and use the range constructor to create from/to others (like set, list, deque);
As with the Arrays, if the preprocessor symbol AIPS_DEBUG is defined at compile time invariants will be checked on entry to most member functions. Additionally, if AIPS_ARRAY_INDEX_CHECK is defined index operations will be bounds-checked. Neither of these should be defined for production code.
Definition at line 44 of file VLALogicalRecord.h.