|
DUDS
|
Distributed Update of Data from Something
|
N-Dimensional Dynamic Array. More...
#include <NddArray.hpp>
Public Types | |
| typedef const T * | const_iterator |
| Simple const iterator. More... | |
| typedef std::initializer_list< SizeType > | DimList |
| A type that can specify the dimensions of the array, or a position of an element. More... | |
| typedef std::vector< SizeType > | DimVec |
| The type used to store the dimensions of the array. More... | |
| typedef T * | iterator |
| Simple iterator. More... | |
| typedef std::size_t | SizeType |
| The type used to store dimension lengths and the total number of elements. More... | |
Public Member Functions | |
| NddArray () | |
| Makes an empty array. More... | |
| NddArray (const DimList &dims) | |
| Makes an array of the given size. More... | |
| NddArray (const DimVec &dims) | |
| Makes an array of the given size. More... | |
| template<class Dim > | |
| NddArray (const Dim &dims) | |
| Makes an array of the given size. More... | |
| NddArray (const NddArray &ndda) | |
| Copy constructor; uses the assignment operator of T. More... | |
| NddArray (NddArray &&ndda) noexcept | |
| Move constructor; the elements are not copied. More... | |
| ~NddArray () noexcept | |
| Destructor; destroys the elements of the array. More... | |
| template<class Dim > | |
| T & | at (const Dim &pos) |
| Obtain an element from the array stored at a specific position. More... | |
| T & | at (const DimList &pos) |
| Obtain an element from the array stored at a specific position. More... | |
| template<class Dim > | |
| const T & | at (const Dim &pos) const |
| Obtain an element from the array stored at a specific position. More... | |
| const T & | at (const DimList &pos) const |
| Obtain an element from the array stored at a specific position. More... | |
| T & | back () |
| The last element of the array. More... | |
| const T & | back () const |
| The last element of the array. More... | |
| T * | begin () |
| An iterator (really just a pointer) to the first element of the array. More... | |
| const T * | begin () const |
| An iterator (really just a pointer) to the first element of the array. More... | |
| const T * | cbegin () const |
| An iterator (really just a pointer) to the first element of the array. More... | |
| const T * | cend () const |
| An iterator (really just a pointer) to one past the last element of the array. More... | |
| void | clear () noexcept |
| Destroys the contents of the array. More... | |
| template<class AV > | |
| void | copyFrom (const AV &av) |
| Copies from a one dimensional container into this array. More... | |
| template<std::size_t N> | |
| void | copyFrom (const std::array< T, N > &a) |
| Copies from a std::array into this array. More... | |
| void | copyFrom (const std::vector< T > &v) |
| Copies from a std::vector into this array. More... | |
| template<std::size_t N> | |
| void | copyFrom (const T(&a)[N]) |
| Copies from a one dimensional array type into this array object. More... | |
| template<std::size_t X, std::size_t Y> | |
| void | copyFrom (const T(&a)[X][Y]) |
| Copies from a two dimensional array type into this array object. More... | |
| template<std::size_t N> | |
| void | copyTo (std::array< T, N > &a) const |
| Copies the contents of this object into a std::array. More... | |
| void | copyTo (std::vector< T > &v) const |
| Copies the contents of this object into a std::vector. More... | |
| template<std::size_t N> | |
| void | copyTo (T(&a)[N]) const |
| Copies the contents of this object into a one dimensional array. More... | |
| template<std::size_t X, std::size_t Y> | |
| void | copyTo (T(&a)[X][Y]) const |
| Copies the contents of this object into a two dimensional array. More... | |
| SizeType | dim (SizeType n) const |
| Returns the size of dimension n. More... | |
| const DimVec & | dim () const |
| Provides access to the vector containing the array dimensions. More... | |
| bool | empty () const |
| True if the array has zero dimensions. More... | |
| T * | end () |
| An iterator (really just a pointer) to one past the last element of the array. More... | |
| const T * | end () const |
| An iterator (really just a pointer) to one past the last element of the array. More... | |
| T & | front () |
| The first element of the array. More... | |
| const T & | front () const |
| The first element of the array. More... | |
| template<class Dim > | |
| NddArray | makeWithNewSize (const Dim &dims) const |
| Makes a new array with a new size and copies elements who's position is within bounds of the new array's dimensions. More... | |
| NddArray | makeWithNewSize (const DimList &dims) const |
| Makes a new array with a new size and copies elements who's position is within bounds of the new array's dimensions. More... | |
| SizeType | numdims () const |
| Returns the number of dimensions in the array. More... | |
| SizeType | numelems () const |
| Returns the total number of elements within the array. More... | |
| bool | operator!= (const NddArray &ndda) const |
| Inequality operator; uses the inequality operator of T. More... | |
| template<class Dim > | |
| T & | operator() (const Dim &pos) |
| Obtain an element from the array stored at a specific position. More... | |
| T & | operator() (const DimList &pos) |
| Obtain an element from the array stored at a specific position. More... | |
| template<class Dim > | |
| const T & | operator() (const Dim &pos) const |
| Obtain an element from the array stored at a specific position. More... | |
| const T & | operator() (const DimList &pos) const |
| Obtain an element from the array stored at a specific position. More... | |
| NddArray & | operator= (const NddArray &ndda) |
| Copy assignment; uses the assignment operator of T. More... | |
| NddArray & | operator= (NddArray &&ndda) noexcept |
| Move assignment; the elements are not copied. More... | |
| template<std::size_t N> | |
| NddArray & | operator= (const std::array< T, N > &a) |
| Copies from a std::array into this array. More... | |
| NddArray & | operator= (const std::vector< T > &v) |
| Copies from a std::vector into this array. More... | |
| template<std::size_t N> | |
| NddArray & | operator= (const T(&a)[N]) |
| Copies from a one dimensional array type into this array object. More... | |
| template<std::size_t X, std::size_t Y> | |
| NddArray & | operator= (const T(&a)[X][Y]) |
| Copies from a two dimensional array type into this array object. More... | |
| bool | operator== (const NddArray &ndda) const |
| Equality operator; uses the equality operator of T. More... | |
| void | remake (const DimList &dims) |
| Clears the array and allocates a new one of the given dimensions. More... | |
| void | remake (const DimVec &dims) |
| Clears the array and allocates a new one of the given dimensions. More... | |
| template<class Dim > | |
| void | resize (const Dim &dims) |
| Resizes the array and keeps elements who's position is within bounds of the new dimensions. More... | |
| void | resize (const DimList &dims) |
| Resizes the array and keeps elements who's position is within bounds of the new dimensions. More... | |
| SizeType | size () const |
| Returns the number of elements stored in the array. More... | |
| void | swap (NddArray &other) |
| Swaps array contents. More... | |
Private Member Functions | |
| BOOST_SERIALIZATION_SPLIT_MEMBER () | |
| void | copyElements (const NddArray &src) |
| Alloactes space for and copies the elements of the array. More... | |
| template<class Dim > | |
| const T & | indexArray (const Dim &pos) const |
| Finds the location in array that holds the element for the given n-dimensional array position and returns the element. More... | |
| template<class A > | |
| void | load (A &a, const unsigned int) |
| Boost serialization support. More... | |
| void | makeArray () |
| Computes the new total number of elements and allocates space for the elements. More... | |
| template<class A > | |
| void | save (A &a, const unsigned int) const |
| Boost serialization support. More... | |
Private Attributes | |
| T * | array |
| The array's element storage. More... | |
| DimVec | dsize |
| The lengths of each dimension within the array. More... | |
| SizeType | elems |
| Total number of elements; pre-calculated to speed up some operations. More... | |
Friends | |
| class | boost::serialization::access |
N-Dimensional Dynamic Array.
A dynamically allocated array with a dynamic number of dimensions. Storage internally is a std::vector for the dimensions, and a one dimensional array for elements. Indexing into the array is expensive compared with arrays of statically declared dimensions, but it allows for generalized data storage when the dimensions, including the number of dimensions, are only known at run-time.
Unlike std::vector, resizing is always expensive. No extra space is ever allocated.
To specifiy positions or new dimensions, std::initializer_list and std::vector may be used. The std::initializer_list is efficent for literal and temporary values, and std::vector works well when less is known about the dimensions at compile-time.
Support is provided for Boost serialization with name-value pairs.
One day there will be better iterators.
| T | The element type to store. It must have a default constructor. Some operations require the assignment, equality, or inequality operators, but those operators are only required if used. Boost serialization support is required if the array is serialized. |
Definition at line 87 of file NddArray.hpp.
| typedef const T* duds::general::NddArray< T >::const_iterator |
Simple const iterator.
Definition at line 109 of file NddArray.hpp.
| typedef std::initializer_list<SizeType> duds::general::NddArray< T >::DimList |
A type that can specify the dimensions of the array, or a position of an element.
Definition at line 101 of file NddArray.hpp.
| typedef std::vector<SizeType> duds::general::NddArray< T >::DimVec |
The type used to store the dimensions of the array.
Definition at line 96 of file NddArray.hpp.
| typedef T* duds::general::NddArray< T >::iterator |
Simple iterator.
Definition at line 105 of file NddArray.hpp.
| typedef std::size_t duds::general::NddArray< T >::SizeType |
The type used to store dimension lengths and the total number of elements.
Definition at line 92 of file NddArray.hpp.
|
inline |
Makes an empty array.
It must be given a new size, by calling remake() or resize(), before it can be used for storage.
Definition at line 235 of file NddArray.hpp.
|
inline |
Makes an array of the given size.
| dims | The initial dimensions. |
Definition at line 240 of file NddArray.hpp.
|
inline |
Makes an array of the given size.
| dims | The initial dimensions. |
Definition at line 249 of file NddArray.hpp.
|
inline |
Makes an array of the given size.
| Dim | The type holding the dimensions. It must have forward iterators. |
| dims | The initial dimensions. |
Definition at line 261 of file NddArray.hpp.
|
inline |
Copy constructor; uses the assignment operator of T.
| ndda | The array to copy. |
| exception | An exception thrown from the copy assignment operator of T. The array is cleared before rethorwing. |
Definition at line 272 of file NddArray.hpp.
|
inlinenoexcept |
Move constructor; the elements are not copied.
| ndda | The array to move. |
Definition at line 284 of file NddArray.hpp.
|
inlinenoexcept |
Destructor; destroys the elements of the array.
Definition at line 293 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| Dim | The type holding the position. It must have forward iterators. |
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 679 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::get(), duds::general::NddArray< double >::makeWithNewSize(), and duds::data::QuantityNddArray::set().
|
inline |
Obtain an element from the array stored at a specific position.
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 694 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| Dim | The type holding the position. It must have forward iterators. |
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 712 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 725 of file NddArray.hpp.
|
inline |
The last element of the array.
Its position is the maximum value for all dimensions.
| ZeroSizeError | This object is empty; there is no last element. |
Definition at line 756 of file NddArray.hpp.
|
inline |
The last element of the array.
Its position is the maximum value for all dimensions.
| ZeroSizeError | This object is empty; there is no last element. |
Definition at line 768 of file NddArray.hpp.
|
inline |
An iterator (really just a pointer) to the first element of the array.
If the array is empty, the pointer will be null. There is nothing in place to prevent misuse of the iterator since it is really a pointer.
The iterator is valid until the array is resized. If the array is swapped with another, the iterator will function on the same dataset; it will follow the swap.
Definition at line 783 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::begin().
|
inline |
An iterator (really just a pointer) to the first element of the array.
If the array is empty, the pointer will be null. There is nothing in place to prevent misuse of the iterator since it is really a pointer.
The iterator is valid until the array is resized. If the array is swapped with another, the iterator will function on the same dataset; it will follow the swap.
Definition at line 795 of file NddArray.hpp.
|
private |
|
inline |
An iterator (really just a pointer) to the first element of the array.
If the array is empty, the pointer will be null. There is nothing in place to prevent misuse of the iterator since it is really a pointer.
The iterator is valid until the array is resized. If the array is swapped with another, the iterator will function on the same dataset; it will follow the swap.
Definition at line 807 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::cbegin().
|
inline |
An iterator (really just a pointer) to one past the last element of the array.
If the array is empty, the pointer will be null. There is nothing in place to prevent misuse of the iterator since it is really a pointer.
The iterator is valid until the array is resized. If the array is swapped with another, the iterator will function on the same dataset; it will follow the swap.
Definition at line 846 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::cend().
|
inlinenoexcept |
Destroys the contents of the array.
Definition at line 934 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::clear().
|
inlineprivate |
Alloactes space for and copies the elements of the array.
Used in the copy constructor and assignment operator.
| src | The source array for the copy. |
| exception | An exception thrown from the copy assignment operator of T. The array is cleared before rethorwing. |
Definition at line 164 of file NddArray.hpp.
|
inline |
Copies from a one dimensional container into this array.
Each element is copied using the assignment operator.
| AV | A one dimensional container type with forward iterators. |
| av | The source container. |
Definition at line 340 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::operator=().
|
inline |
Copies from a std::array into this array.
Each element is copied using the assignment operator.
| N | The length of the array. |
| a | The source array. |
Definition at line 363 of file NddArray.hpp.
|
inline |
Copies from a std::vector into this array.
Each element is copied using the assignment operator.
| v | The source vector. |
Definition at line 377 of file NddArray.hpp.
|
inline |
Copies from a one dimensional array type into this array object.
Each element is copied using the assignment operator.
| N | The length of the array. |
| a | The source array. |
Definition at line 393 of file NddArray.hpp.
|
inline |
Copies from a two dimensional array type into this array object.
Each element is copied using the assignment operator.
| X | The length of the source array's first dimension. |
| Y | The length of the source array's second dimension. |
| a | The source array. |
Definition at line 417 of file NddArray.hpp.
|
inline |
Copies the contents of this object into a std::array.
Each element is copied using the assignment operator.
| N | The size of the array. |
| a | The destination array. |
| DimensionMismatchError | This array does not have exactly one dimension. |
Definition at line 510 of file NddArray.hpp.
Referenced by duds::data::QuantityArray< 3 >::operator=().
|
inline |
Copies the contents of this object into a std::vector.
Each element is copied using the assignment operator.
| v | The destination vector. |
| DimensionMismatchError | This array does not have exactly one dimension. |
Definition at line 532 of file NddArray.hpp.
|
inline |
Copies the contents of this object into a one dimensional array.
Each element is copied using the assignment operator.
| N | The size of the array. |
| a | The destination array. |
| DimensionMismatchError | This array does not have exactly one dimension. |
Definition at line 560 of file NddArray.hpp.
|
inline |
Copies the contents of this object into a two dimensional array.
Each element is copied using the assignment operator.
| X | The length of the destination array's first dimension. |
| Y | The length of the destination array's second dimension. |
| a | The destination array. |
| DimensionMismatchError | This array does not have exactly two dimensions. |
Definition at line 587 of file NddArray.hpp.
|
inline |
Returns the size of dimension n.
| n | The number of the dimension to inspect. Zero is the first dimension. |
| OutOfRangeError | The array has fewer than n dimensions. |
Definition at line 901 of file NddArray.hpp.
|
inline |
Provides access to the vector containing the array dimensions.
Definition at line 910 of file NddArray.hpp.
|
inline |
True if the array has zero dimensions.
Definition at line 923 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::empty().
|
inline |
An iterator (really just a pointer) to one past the last element of the array.
If the array is empty, the pointer will be null. There is nothing in place to prevent misuse of the iterator since it is really a pointer.
The iterator is valid until the array is resized. If the array is swapped with another, the iterator will function on the same dataset; it will follow the swap.
Definition at line 820 of file NddArray.hpp.
Referenced by duds::data::QuantityNddArray::end().
|
inline |
An iterator (really just a pointer) to one past the last element of the array.
If the array is empty, the pointer will be null. There is nothing in place to prevent misuse of the iterator since it is really a pointer.
The iterator is valid until the array is resized. If the array is swapped with another, the iterator will function on the same dataset; it will follow the swap.
Definition at line 833 of file NddArray.hpp.
|
inline |
The first element of the array.
Its position is zero for all dimensions.
| ZeroSizeError | This object is empty; there is no first element. |
Definition at line 733 of file NddArray.hpp.
|
inline |
The first element of the array.
Its position is zero for all dimensions.
| ZeroSizeError | This object is empty; there is no first element. |
Definition at line 744 of file NddArray.hpp.
|
inlineprivate |
Finds the location in array that holds the element for the given n-dimensional array position and returns the element.
| Dim | The type holding the position. It must have forward iterators. |
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 202 of file NddArray.hpp.
|
inlineprivate |
Boost serialization support.
Definition at line 1180 of file NddArray.hpp.
|
inlineprivate |
Computes the new total number of elements and allocates space for the elements.
| EmptyDimensionError | One of the elements in dims is zero. The array is changed to the empty state before throwing. |
Definition at line 136 of file NddArray.hpp.
|
inline |
Makes a new array with a new size and copies elements who's position is within bounds of the new array's dimensions.
The operation uses the copy assignment operator of T to place the existing elements. On failure, the new array is destroyed.
The cases of no dimensions (empty) for the existing array, and none for the new array, are handled as special cases so they can complete faster.
| dims | The new dimensions. |
| EmptyDimensionError | One of the elements in dims is zero. |
| exception | An exception thrown from the copy assignment operator of T. |
Definition at line 999 of file NddArray.hpp.
|
inline |
Makes a new array with a new size and copies elements who's position is within bounds of the new array's dimensions.
The operation uses the copy assignment operator of T to place the existing elements. On failure, the new array is destroyed.
The cases of no dimensions (empty) for the existing array, and none for the new array, are handled as special cases so they can complete faster.
| dims | The new dimensions. |
| EmptyDimensionError | One of the elements in dims is zero. |
| exception | An exception thrown from the copy assignment operator of T. |
Definition at line 1086 of file NddArray.hpp.
|
inline |
Returns the number of dimensions in the array.
Definition at line 892 of file NddArray.hpp.
Referenced by duds::general::NddArray< double >::makeWithNewSize().
|
inline |
Returns the total number of elements within the array.
The value is already computed, so the result is quickly obtained.
Definition at line 917 of file NddArray.hpp.
|
inline |
Inequality operator; uses the inequality operator of T.
Elements are only inspected if the array dimensions are the same.
| ndda | The array to compare. |
Definition at line 874 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| Dim | The type holding the position. It must have forward iterators. |
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 617 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 632 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| Dim | The type holding the position. It must have forward iterators. |
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 650 of file NddArray.hpp.
|
inline |
Obtain an element from the array stored at a specific position.
| pos | The position. It's number of elements must match the number of dimensions of this array. |
| ZeroSizeError | This object is empty and has no dimensions. |
| DimensionMismatchError | The number of items in pos does not match the number of dimensions in this object. |
| OutOfRangeError | A position is beyond the range of the array. |
Definition at line 663 of file NddArray.hpp.
|
inline |
Copy assignment; uses the assignment operator of T.
| ndda | The array to copy. |
| exception | An exception thrown from the copy assignment operator of T. The array is cleared before rethorwing. |
Definition at line 304 of file NddArray.hpp.
|
inlinenoexcept |
Move assignment; the elements are not copied.
| ndda | The array to copy. |
Definition at line 318 of file NddArray.hpp.
|
inline |
Copies from a std::array into this array.
Each element is copied using the assignment operator.
| N | The length of the array. |
| a | The source array. |
Definition at line 442 of file NddArray.hpp.
|
inline |
Copies from a std::vector into this array.
Each element is copied using the assignment operator.
| v | The source vector. |
Definition at line 457 of file NddArray.hpp.
|
inline |
Copies from a one dimensional array type into this array object.
Each element is copied using the assignment operator.
| N | The length of the array. |
| a | The source array. |
Definition at line 474 of file NddArray.hpp.
|
inline |
Copies from a two dimensional array type into this array object.
Each element is copied using the assignment operator.
| X | The length of the array's first dimension. |
| Y | The length of the array's second dimension. |
| a | The source array. |
Definition at line 492 of file NddArray.hpp.
|
inline |
Equality operator; uses the equality operator of T.
Elements are only inspected if the array dimensions are the same.
| ndda | The array to compare. |
Definition at line 854 of file NddArray.hpp.
|
inline |
Clears the array and allocates a new one of the given dimensions.
| dims | The new dimensions for the array. If it has no elements, the array will have zero dimensions. |
| EmptyDimensionError | One of the elements in dims is zero. |
Definition at line 948 of file NddArray.hpp.
|
inline |
Clears the array and allocates a new one of the given dimensions.
| dims | The new dimensions for the array. If it is empty, the array will have zero dimensions. |
| EmptyDimensionError | One of the elements in dims is zero. |
Definition at line 970 of file NddArray.hpp.
|
inline |
Resizes the array and keeps elements who's position is within bounds of the new dimensions.
The operation creates a new array of the new dimensions and uses the copy assignment operator of T to place the existing elements. On failure, the array does not change.
No dimensions for the new or current size are handled as special cases so they can complete faster.
| dims | The new dimensions. |
| EmptyDimensionError | One of the elements in dims is zero. The array will be unchanged. |
| exception | An exception thrown from the copy assignment operator of T. The array will be unchanged. |
Definition at line 1111 of file NddArray.hpp.
|
inline |
Resizes the array and keeps elements who's position is within bounds of the new dimensions.
The operation creates a new array of the new dimensions and uses the copy assignment operator of T to place the existing elements. On failure, the array does not change.
No dimensions for the new or current size are handled as special cases so they can complete faster.
| dims | The new dimensions. |
| EmptyDimensionError | One of the elements in dims is zero. The array will be unchanged. |
| exception | An exception thrown from the copy assignment operator of T. The array will be unchanged. |
Definition at line 1135 of file NddArray.hpp.
|
inlineprivate |
Boost serialization support.
Definition at line 1164 of file NddArray.hpp.
|
inline |
Returns the number of elements stored in the array.
Definition at line 1141 of file NddArray.hpp.
|
inline |
Swaps array contents.
The elements are not copied; it should be fairly quick.
| other | The other array involved in the swap. |
Definition at line 1151 of file NddArray.hpp.
Referenced by duds::general::swap().
|
friend |
Definition at line 1155 of file NddArray.hpp.
|
private |
The array's element storage.
Definition at line 118 of file NddArray.hpp.
Referenced by duds::general::NddArray< double >::copyElements(), duds::general::NddArray< double >::makeWithNewSize(), duds::general::NddArray< double >::operator!=(), duds::general::NddArray< double >::operator==(), and duds::general::NddArray< double >::swap().
|
private |
The lengths of each dimension within the array.
Definition at line 114 of file NddArray.hpp.
Referenced by duds::general::NddArray< double >::operator!=(), duds::general::NddArray< double >::operator=(), duds::general::NddArray< double >::operator==(), and duds::general::NddArray< double >::swap().
|
private |
Total number of elements; pre-calculated to speed up some operations.
Definition at line 122 of file NddArray.hpp.
Referenced by duds::general::NddArray< double >::operator!=(), duds::general::NddArray< double >::operator=(), duds::general::NddArray< double >::operator==(), and duds::general::NddArray< double >::swap().