|
casacore
|
#include <RowNumbers.h>
Public Member Functions | |
| RowNumbers () | |
| Construct an empty RowNumbers Vector. | |
| RowNumbers (size_t n) | |
| Construct with the given length. | |
| RowNumbers (const Vector< rownr_t > &rows) | |
| Construct from a Vector of row numbers. | |
| RowNumbers (const std::vector< rownr_t > &rows) | |
| Construct from a std::vector of row numbers. | |
| virtual Array< rownr_t > & | operator= (const Array< rownr_t > &other) |
| Array<T> has this virtual function, so also define in this class to avoid 'virtual function override' warning. | |
| RowNumbers (const Vector< uInt > &rows) | |
| Construct from a Vector or std::vector of old style row numbers. | |
| RowNumbers (const std::vector< uInt > &rows) | |
| operator Vector< uInt > () const | |
| Conversion operator to convert Vector<rownr_t> to Vector<uInt>. | |
Public Member Functions inherited from casacore::Vector< rownr_t > | |
| Vector () | |
| A zero-length Vector. | |
| Vector (size_t Length) | |
| A Vector with a defined length and origin of zero. | |
| Vector (const IPosition &Length) | |
| Vector (size_t Length, const rownr_t &initialValue) | |
| A Vector with a defined length and origin of zero. | |
| Vector (const IPosition &Length, const rownr_t &initialValue) | |
| Vector (size_t Length, typename Array< rownr_t >::uninitializedType) | |
| An uninitialized Vector with a defined length. | |
| Vector (const IPosition &Length, typename Array< rownr_t >::uninitializedType) | |
| Vector (const std::vector< rownr_t > &other, long long nr) | |
| Create a Vector from the given std::vector "other." Make it length "nr" and copy over that many elements. | |
| Vector (const std::vector< rownr_t > &other) | |
| Create a Vector of length other.size() and copy over its values. | |
| Vector (std::initializer_list< rownr_t > list) | |
| Create a Vector from an initializer list. | |
| Vector (const Vector< rownr_t > &other) | |
| Create a reference to other. | |
| Vector (Vector< rownr_t > &&source) noexcept | |
| Move. | |
| Vector (const Array< rownr_t > &other) | |
| Create a reference to the other array. | |
| Vector (const IPosition &shape, rownr_t *storage, StorageInitPolicy policy=COPY) | |
| Create an Vector of a given shape from a pointer. | |
| Vector (const IPosition &shape, const rownr_t *storage) | |
| Create an Vector of a given shape from a pointer. | |
| Vector (InputIterator startIter, InputIterator endIter) | |
| Vector (const std::vector< U, V > &other) | |
Create a Vector from an STL vector (see tovector() in Array for the reverse operation). | |
| Vector (Iterator first, size_t size, int dummy) | |
| Create a Vector from a container iterator and its length. | |
| void | resize (size_t len, bool copyValues=false) |
| virtual void | resize (const IPosition &len, bool copyValues=false) final override |
| Resize the array and optionally copy the values. | |
| Vector< rownr_t > & | assign_conforming (const Vector< rownr_t > &source) |
| Vector< rownr_t > & | assign_conforming (Vector< rownr_t > &&source) |
| Vector< rownr_t > & | assign_conforming (const Array< rownr_t > &source) |
| source must be a 1-dimensional array. | |
| Vector< rownr_t > & | assign_conforming (Array< rownr_t > &&source) |
| Vector< rownr_t > & | operator= (const Vector< rownr_t > &source) |
| Vector< rownr_t > & | operator= (Vector< rownr_t > &&source) |
| Vector< rownr_t > & | operator= (const Array< rownr_t > &source) |
| Vector< rownr_t > & | operator= (Array< rownr_t > &&source) |
| rownr_t & | operator[] (size_t index) |
| Convert a Vector to a Block, resizing the block and copying values. | |
| const rownr_t & | operator[] (size_t index) const |
| rownr_t & | operator() (const IPosition &i) |
| const rownr_t & | operator() (const IPosition &i) const |
| rownr_t & | operator() (size_t index) |
| const rownr_t & | operator() (size_t index) const |
| Vector< rownr_t > | operator() (const Slice &slice) |
| Take a slice of this vector. | |
| const Vector< rownr_t > | operator() (const Slice &slice) const |
| Array< rownr_t > | operator() (const IPosition &blc, const IPosition &trc, const IPosition &incr) |
| Slice using IPositions. | |
| const Array< rownr_t > | operator() (const IPosition &blc, const IPosition &trc, const IPosition &incr) const |
| Array< rownr_t > | operator() (const IPosition &blc, const IPosition &trc) |
| const Array< rownr_t > | operator() (const IPosition &blc, const IPosition &trc) const |
| Array< rownr_t > | operator() (const Slicer &slicer) |
| const Array< rownr_t > | operator() (const Slicer &slicer) const |
| MaskedArray< rownr_t > | operator() (const LogicalArray &mask) const |
| The array is masked by the input LogicalArray. | |
| MaskedArray< rownr_t > | operator() (const LogicalArray &mask) |
| Return a MaskedArray. | |
| MaskedArray< rownr_t > | operator() (const MaskedLogicalArray &mask) const |
| The array is masked by the input MaskedLogicalArray. | |
| MaskedArray< rownr_t > | operator() (const MaskedLogicalArray &mask) |
| Return a MaskedArray. | |
| const IPosition & | shape () const |
| The length of the Vector. | |
| void | shape (int &Shape) const |
| virtual bool | ok () const final override |
| Verify that dimensionality is 1 and then call Array<T>::ok() | |
Public Member Functions inherited from casacore::Array< T > | |
| Array () | |
| Result has dimensionality of zero, and nelements is zero. | |
| Array (const IPosition &shape) | |
| Create an array of the given shape, i.e. | |
| Array (const IPosition &shape, const T &initialValue) | |
| Create an array of the given shape and initialize it with the initial value. | |
| Array (const IPosition &shape, uninitializedType) | |
| Constructor to create an uninitialized array. | |
| Array (std::initializer_list< T > list) | |
| Construct a one-dimensional array from an initializer list. | |
| Array (const Array< T > &other) | |
| After construction, this and other reference the same storage. | |
| Array (Array< T > &&source) noexcept | |
| Source will be empty after this call. | |
| Array (const IPosition &shape, T *storage, StorageInitPolicy policy=COPY) | |
| Create an Array of a given shape from a pointer. | |
| Array (const IPosition &shape, const T *storage) | |
| Create an Array of a given shape from a pointer. | |
| template<typename InputIterator > | |
| Array (const IPosition &shape, InputIterator startIter) | |
| Construct an array from an iterator and a shape. | |
| virtual | ~Array () noexcept |
| Frees up storage only if this array was the last reference to it. | |
| virtual std::unique_ptr< ArrayBase > | makeArray () const override |
| Make an empty array of the same template type. | |
| void | assign (const Array< T > &other) |
| Assign the other array to this array. | |
| void | assignBase (const ArrayBase &other, bool checkType=true) override |
| Assign the source array to this array. | |
| 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. | |
| template<typename Callable > | |
| void | apply (Callable function) |
| Apply the function to every element of the array. | |
| virtual void | reference (const Array< T > &other) |
| After invocation, this array and other reference the same storage. | |
| Array< T > & | assign_conforming (const Array< T > &other) |
| Copy the values in other to this. | |
| Array< T > & | assign_conforming (const MaskedArray< T > &marray) |
| Copy to this those values in marray whose corresponding elements in marray's mask are true. | |
| Array< T > & | operator= (const Array< T > &other) |
| TODO we should change the semantics. | |
| Array< T > & | operator= (const MaskedArray< T > &marray) |
| Calls assign_conforming(). | |
| Array< T > & | operator= (Array< T > &&other) |
| The move operator takes the storage from the given array. | |
| Array< T > & | operator= (const T &value) |
| Set every element of this array to "value". | |
| Array< T > | copy () const |
| This makes a copy of the array and returns it. | |
| void | copyMatchingPart (const Array< T > &from) |
| This function copies the matching part of from array to this array. | |
| void | unique () |
| This ensures that this array does not reference any other storage. | |
| template<class U > | |
| void | tovector (std::vector< T, U > &out) const |
| Create an STL vector from an Array. | |
| std::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. | |
| bool | reformOrResize (const IPosition &newShape, size_t resizePercentage=0, bool resizeIfNeeded=true) |
| Having an array that can be reused without requiring reallocation can be useful for large arrays. | |
| bool | adjustLastAxis (const IPosition &newShape, size_t resizePercentage=0, bool resizeIfNeeded=true) |
| Use this method to extend or reduce the last dimension of an array. | |
| size_t | capacity () const |
| Returns the number of elements allocated. | |
| Array< T > | nonDegenerate (size_t startingAxis=0, bool throwIfError=true) const |
| These member functions remove degenerate (ie. | |
| Array< T > | nonDegenerate (const IPosition &ignoreAxes) const |
| void | nonDegenerate (const Array< T > &other, size_t startingAxis=0, bool throwIfError=true) |
| void | nonDegenerate (const Array< T > &other, const IPosition &ignoreAxes) |
| void | removeDegenerate (size_t startingAxis=0, bool throwIfError=true) |
| Remove degenerate axes from this Array object. | |
| void | removeDegenerate (const IPosition &ignoreAxes) |
| const Array< T > | addDegenerate (size_t 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. | |
| Array< T > | addDegenerate (size_t numAxes) |
| void | resize () |
| Make this array a different shape. | |
| T & | operator() (const IPosition &) |
| Access a single element of the array. | |
| 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). | |
| 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. | |
| 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. | |
| const Array< T > | operator() (const Slicer &) const |
| std::unique_ptr< ArrayBase > | getSection (const Slicer &) const override |
| Get a reference to a section of an array. | |
| Array< T > | operator[] (size_t i) const |
| Get the subset given by the i-th value of the last axis. | |
| Array< T > | diagonals (size_t firstAxis=0, long long diag=0) const |
| Get the diagonal of each matrix part in the full array. | |
| const MaskedArray< T > | operator() (const LogicalArray &mask) const |
| The array is masked by the input LogicalArray. | |
| MaskedArray< T > | operator() (const LogicalArray &mask) |
| const MaskedArray< T > | operator() (const MaskedLogicalArray &mask) const |
| The array is masked by the input MaskedLogicalArray. | |
| MaskedArray< T > | operator() (const MaskedLogicalArray &mask) |
| size_t | nrefs () const |
| The number of references the underlying storage has assigned to it. | |
| bool | conform (const Array< T > &other) const |
| Are the shapes identical? | |
| bool | conform (const MaskedArray< T > &other) const |
| T * | data () |
| Get a pointer to the beginning of the array. | |
| const T * | data () const |
| T * | getStorage (bool &deleteIt) |
| Generally use of this should be shunned, except to use a FORTRAN routine or something similar. | |
| const T * | getStorage (bool &deleteIt) const |
| void * | getVStorage (bool &deleteIt) override |
| The following functions behave the same as the corresponding getStorage functions in the derived templated Array class. | |
| const void * | getVStorage (bool &deleteIt) const override |
| void | putStorage (T *&storage, bool deleteAndCopy) |
| putStorage() is normally called after a call to getStorage() (cf). | |
| void | putVStorage (void *&storage, bool deleteAndCopy) override |
| void | freeStorage (const T *&storage, bool deleteIt) const |
| If deleteIt is set, delete "storage". | |
| void | freeVStorage (const void *&storage, bool deleteIt) const override |
| virtual void | takeStorage (const IPosition &shape, T *storage, StorageInitPolicy policy=COPY) |
Replace the data values with those in the pointer storage. | |
| virtual void | takeStorage (const IPosition &shape, const T *storage) |
| Since the pointer is const, a copy is always taken. | |
| std::unique_ptr< ArrayPositionIterator > | makeIterator (size_t byDim) const override |
| Create an ArrayIterator object of the correct type. | |
| iterator | begin () |
| Get the begin iterator object for any array. | |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| contiter | cbegin () |
| Get the begin iterator object for a contiguous array. | |
| const_contiter | cbegin () const |
| contiter | cend () |
| const_contiter | cend () const |
Public Member Functions inherited from casacore::ArrayBase | |
| ArrayBase () noexcept | |
| ArrayBase (const IPosition &shape) | |
| Create an array of the given shape, i.e. | |
| ArrayBase (const ArrayBase &other) | |
| Copy constructor. | |
| ArrayBase (ArrayBase &&source) noexcept | |
| ArrayBase & | assign (const ArrayBase &) |
| Assignment. | |
| ArrayBase & | operator= (const ArrayBase &)=delete |
| ArrayBase & | operator= (ArrayBase &&) noexcept |
| virtual | ~ArrayBase () noexcept |
| Destructor. | |
| size_t | ndim () const |
| The dimensionality of this array. | |
| size_t | nelements () const |
| How many elements does this array have? Product of all axis lengths. | |
| size_t | size () const |
| bool | empty () const |
| Is the array empty (i.e. | |
| bool | contiguousStorage () const |
Are the array data contiguous? If they are not contiguous, getStorage (see below) needs to make a copy. | |
| const IPosition & | shape () const |
| The length of each axis. | |
| IPosition | endPosition () const |
| A convenience function: endPosition(i) = shape(i) - 1; i.e. | |
| const IPosition & | steps () const |
| Return steps to be made if stepping one element in a dimension. | |
| void | validateConformance (const ArrayBase &) const |
| Various helper functions. | |
| void | validateIndex (const IPosition &) const |
| void | validateIndex (size_t index) const |
| void | validateIndex (size_t index1, size_t index2) const |
| void | validateIndex (size_t index1, size_t index2, size_t index3) const |
Static Public Member Functions | |
| static Vector< uInt > | convertRownrVector (const Vector< rownr_t > &) |
| Do the actual conversion. | |
Static Public Member Functions inherited from casacore::ArrayBase | |
| static unsigned | arrayVersion () |
| Array version for major change (used by ArrayIO). | |
Additional Inherited Members | |
Public Types inherited from casacore::Array< T > | |
| typedef T | value_type |
| Define the STL-style iterator functions (only forward iterator). | |
| typedef const T & | const_reference |
| TODO This is how std containers define a reference type, but the name 'reference' is already taken by a method. | |
| typedef T * | pointer |
| Pointer to an element type. | |
| typedef const T * | const_pointer |
| Constant pointer to the element type. | |
| typedef IteratorSTL | iterator |
| typedef ConstIteratorSTL | const_iterator |
| typedef T * | contiter |
| typedef const T * | const_contiter |
Static Public Attributes inherited from casacore::Array< T > | |
| static struct casacore::Array::uninitializedType | uninitialized |
Protected Member Functions inherited from casacore::Vector< rownr_t > | |
| virtual void | doNonDegenerate (const Array< rownr_t > &other, const IPosition &ignoreAxes) final override |
| Remove the degenerate axes from other and store result in this vector. | |
| virtual size_t | fixedDimensionality () const final override |
| Subclasses can return their dimensionality. | |
Protected Member Functions inherited from casacore::Array< T > | |
| Array (Array< T > &&source, const IPosition &shapeForSource) noexcept | |
| Source will be empty with given shape after this call. | |
| void | swap (Array< T > &other) |
| Swap this array with another array. | |
| virtual void | preTakeStorage (const IPosition &) |
| pre/post processing hook of takeStorage() for subclasses. | |
| virtual void | postTakeStorage () |
| void | checkBeforeResize (const IPosition &newShape) |
| This function is called when this array is about to be resized, before any work is done. | |
| virtual void | checkAssignableType (ArrayBase &arrayBase) const |
| virtual void | doNonDegenerate (const Array< T > &other, const IPosition &ignoreAxes) |
| Remove the degenerate axes from the Array object. | |
| void | makeSteps () |
| Fill the steps and the end for a derived class. | |
| void | setEndIter () |
| Set the end iterator. | |
Protected Member Functions inherited from casacore::ArrayBase | |
| ArrayBase (ArrayBase &&source, const IPosition &shapeForSource) noexcept | |
| For subclasses, this move constructor allows the moved-from object to obtain a given shape after resizing. | |
| void | swap (ArrayBase &source) noexcept |
| bool | reformOrResize (const IPosition &newShape, bool resizeIfNeeded, size_t nReferences, long long nElementsAllocated, bool copyDataIfNeeded, size_t resizePercentage) |
| Either reforms the array if size permits or resizes it to the new shape. | |
| bool | isStorageContiguous () const |
| Determine if the storage of a subset is contiguous. | |
| void | checkVectorShape () |
| Check if the shape of a vector is correct. | |
| void | checkMatrixShape () |
| Check if the shape of a matrix is correct. | |
| void | checkCubeShape () |
| Check if the shape of a cube is correct. | |
| void | baseReform (ArrayBase &tmp, const IPosition &shape, bool strict=true) const |
| Reform the array to a shape with the same nr of elements. | |
| void | baseNonDegenerate (const ArrayBase &other, const IPosition &ignoreAxes) |
| Remove the degenerate axes from the Array object. | |
| void | baseAddDegenerate (ArrayBase &, size_t numAxes) |
| These member functions return an Array reference with the specified number of extra axes, all of length one, appended to the end of the Array. | |
| size_t | makeSubset (ArrayBase &out, const IPosition &b, const IPosition &e, const IPosition &i) |
| Make a subset of an array. | |
| size_t | makeDiagonal (size_t firstAxis, long long diag) |
| Set the length and stride such that the diagonal of the matrices defined by two consecutive axes is formed. | |
| bool | conform2 (const ArrayBase &other) const |
| Are the shapes identical? | |
| void | baseMakeSteps () |
| Make the indexing step sizes. | |
| bool | copyVectorHelper (const ArrayBase &other) |
| Helper function for templated Vector class. | |
Static Protected Member Functions inherited from casacore::Array< T > | |
| static void | copyToContiguousStorage (T *dst, Array< T > const &src) |
Protected Attributes inherited from casacore::Array< T > | |
| std::shared_ptr< arrays_internal::Storage< T > > | data_p |
| Shared pointer to a Storage that contains the data. | |
| T * | begin_p |
| This pointer is adjusted to point to the first element of the array. | |
| T * | end_p |
| The end for an STL-style iteration. | |
Protected Attributes inherited from casacore::ArrayBase | |
| size_t | nels_p |
| Number of elements in the array. | |
| size_t | ndimen_p |
| Dimensionality of the array. | |
| bool | contiguous_p |
| Are the data contiguous? | |
| IPosition | length_p |
| Used to hold the shape, increment into the underlying storage and originalLength of the array. | |
| IPosition | inc_p |
| IPosition | originalLength_p |
| IPosition | steps_p |
| Used to hold the step to next element in each dimension. | |
Definition at line 35 of file RowNumbers.h.
|
inline |
Construct an empty RowNumbers Vector.
Definition at line 39 of file RowNumbers.h.
|
inlineexplicit |
Construct with the given length.
Definition at line 43 of file RowNumbers.h.
Construct from a Vector of row numbers.
Definition at line 48 of file RowNumbers.h.
| casacore::RowNumbers::RowNumbers | ( | const std::vector< rownr_t > & | rows | ) |
Construct from a std::vector of row numbers.
Construct from a Vector or std::vector of old style row numbers.
|
explicit |
Do the actual conversion.
An exception is thrown if a row number exceeds 32 bits.
Referenced by operator Vector< uInt >().
Conversion operator to convert Vector<rownr_t> to Vector<uInt>.
This is for backward compatibility of Table::rowNumbers.
Definition at line 73 of file RowNumbers.h.
References convertRownrVector().
|
virtual |
Array<T> has this virtual function, so also define in this class to avoid 'virtual function override' warning.