|
| | Array () |
| | Creates an empty array.
|
| |
| | Array (MemoryType mt) |
| | Creates an empty array with a given MemoryType.
|
| |
| | Array (int asize) |
| | Creates array of asize elements.
|
| |
| | Array (int asize, MemoryType mt) |
| | Creates array of asize elements with a given MemoryType.
|
| |
| | Array (T *data_, int asize, bool own_data=false) |
| | Creates array using an externally allocated host pointer data_ to asize elements. If own_data is true, the array takes ownership of the pointer.
|
| |
| | Array (const Array &src) |
| | Copy constructor: deep copy from src.
|
| |
| template<typename CT > |
| | Array (const Array< CT > &src) |
| | Copy constructor (deep copy) from 'src', an Array of convertible type.
|
| |
| template<typename CT , int N> |
| | Array (const CT(&values)[N]) |
| | Deep copy from a braced init-list of convertible type.
|
| |
| | Array (Array< T > &&src) |
| | Move constructor ("steals" data from 'src')
|
| |
| | ~Array () |
| | Destructor.
|
| |
| Array< T > & | operator= (const Array< T > &src) |
| | Assignment operator: deep copy from 'src'.
|
| |
| template<typename CT > |
| Array & | operator= (const Array< CT > &src) |
| | Assignment operator (deep copy) from src, an Array of convertible type.
|
| |
| | operator T* () |
| | Return the data as 'T *'.
|
| |
| | operator const T * () const |
| | Return the data as 'const T *'.
|
| |
| T * | GetData () |
| | Returns the data.
|
| |
| const T * | GetData () const |
| | Returns the data.
|
| |
| Memory< T > & | GetMemory () |
| | Return a reference to the Memory object used by the Array.
|
| |
| const Memory< T > & | GetMemory () const |
| | Return a reference to the Memory object used by the Array, const version.
|
| |
| bool | UseDevice () const |
| | Return the device flag of the Memory object used by the Array.
|
| |
| bool | OwnsData () const |
| | Return true if the data will be deleted by the Array.
|
| |
| void | StealData (T **p) |
| | Changes the ownership of the data.
|
| |
| void | LoseData () |
| | NULL-ifies the data.
|
| |
| void | MakeDataOwner () const |
| | Make the Array own the data.
|
| |
| int | Size () const |
| | Return the logical size of the array.
|
| |
| void | SetSize (int nsize) |
| | Change the logical size of the array, keep existing entries.
|
| |
| void | SetSize (int nsize, const T &initval) |
| | Same as SetSize(int) plus initialize new entries with 'initval'.
|
| |
| void | SetSize (int nsize, MemoryType mt) |
| | Resize the array to size nsize using MemoryType mt. Note that unlike the other versions of SetSize(), the current content of the array is not preserved.
|
| |
| int | Capacity () const |
| |
| void | Reserve (int capacity) |
| | Ensures that the allocated size is at least the given size.
|
| |
| T & | operator[] (int i) |
| | Reference access to the ith element.
|
| |
| const T & | operator[] (int i) const |
| | Const reference access to the ith element.
|
| |
| int | Append (const T &el) |
| | Append element 'el' to array, resize if necessary.
|
| |
| int | Append (const T *els, int nels) |
| | Append another array to this array, resize if necessary.
|
| |
| int | Append (const Array< T > &els) |
| | Append another array to this array, resize if necessary.
|
| |
| int | Prepend (const T &el) |
| | Prepend an 'el' to the array, resize if necessary.
|
| |
| T & | Last () |
| | Return the last element in the array.
|
| |
| const T & | Last () const |
| | Return the last element in the array.
|
| |
| int | Union (const T &el) |
| | Append element when it is not yet in the array, return index.
|
| |
| int | Find (const T &el) const |
| | Return the first index where 'el' is found; return -1 if not found.
|
| |
| int | FindSorted (const T &el) const |
| | Do bisection search for 'el' in a sorted array; return -1 if not found.
|
| |
| void | DeleteLast () |
| | Delete the last entry of the array.
|
| |
| void | DeleteFirst (const T &el) |
| | Delete the first entry with value == 'el'.
|
| |
| void | DeleteAll () |
| | Delete the whole array.
|
| |
| void | Copy (Array ©) const |
| | Create a copy of the internal array to the provided copy.
|
| |
| void | MakeRef (T *data_, int size_, bool own_data=false) |
| | Make this Array a reference to a pointer.
|
| |
| void | MakeRef (T *data_, int size, MemoryType mt, bool own_data) |
| | Make this Array a reference to a pointer.
|
| |
| void | MakeRef (const Array &master) |
| | Make this Array a reference to 'master'.
|
| |
| void | GetSubArray (int offset, int sa_size, Array< T > &sa) const |
| | Copy sub array starting from offset out to the provided sa.
|
| |
| void | Print (std::ostream &out=mfem::out, int width=4) const |
| | Prints array to stream with width elements per row.
|
| |
| void | Save (std::ostream &out, int fmt=0) const |
| | Save the Array to the stream out using the format fmt. The format fmt can be:
|
| |
| void | Load (std::istream &in, int fmt=0) |
| | Read an Array from the stream in using format fmt. The format fmt can be:
|
| |
| void | Load (int new_size, std::istream &in) |
| | Set the Array size to new_size and read that many entries from the stream in.
|
| |
| T | Max () const |
| | Find the maximal element in the array, using the comparison operator < for class T.
|
| |
| T | Min () const |
| | Find the minimal element in the array, using the comparison operator < for class T.
|
| |
| void | Sort () |
| | Sorts the array in ascending order. This requires operator< to be defined for T.
|
| |
| template<class Compare > |
| void | Sort (Compare cmp) |
| | Sorts the array in ascending order using the supplied comparison function object.
|
| |
| void | Unique () |
| | Removes duplicities from a sorted array. This requires operator== to be defined for T.
|
| |
| int | IsSorted () const |
| | Return 1 if the array is sorted from lowest to highest. Otherwise return 0.
|
| |
| void | PartialSum () |
| | Fill the entries of the array with the cumulative sum of the entries.
|
| |
| T | Sum () |
| | Return the sum of all the array entries using the '+'' operator for class 'T'.
|
| |
| void | operator= (const T &a) |
| | Set all entries of the array to the provided constant.
|
| |
| void | Assign (const T *) |
| | Copy data from a pointer. 'Size()' elements are copied.
|
| |
| template<typename U > |
| void | CopyTo (U *dest) |
| | STL-like copyTo dest from begin to end.
|
| |
| template<typename U > |
| void | CopyFrom (const U *src) |
| | Copy from src into this array. Copies enough entries to fill the Capacity size of this array. Careful this does not update the Size to match this Capacity after this.
|
| |
| T * | begin () |
| | STL-like begin. Returns pointer to the first element of the array.
|
| |
| T * | end () |
| | STL-like end. Returns pointer after the last element of the array.
|
| |
| const T * | begin () const |
| | STL-like begin. Returns const pointer to the first element of the array.
|
| |
| const T * | end () const |
| | STL-like end. Returns const pointer after the last element of the array.
|
| |
| std::size_t | MemoryUsage () const |
| | Returns the number of bytes allocated for the array including any reserve.
|
| |
| const T * | Read (bool on_dev=true) const |
| | Shortcut for mfem::Read(a.GetMemory(), a.Size(), on_dev).
|
| |
| const T * | HostRead () const |
| | Shortcut for mfem::Read(a.GetMemory(), a.Size(), false).
|
| |
| T * | Write (bool on_dev=true) |
| | Shortcut for mfem::Write(a.GetMemory(), a.Size(), on_dev).
|
| |
| T * | HostWrite () |
| | Shortcut for mfem::Write(a.GetMemory(), a.Size(), false).
|
| |
| T * | ReadWrite (bool on_dev=true) |
| | Shortcut for mfem::ReadWrite(a.GetMemory(), a.Size(), on_dev).
|
| |
| T * | HostReadWrite () |
| | Shortcut for mfem::ReadWrite(a.GetMemory(), a.Size(), false).
|
| |
| template<typename CT > |
| Array< T > & | operator= (const Array< CT > &src) |
| |
template<class T>
class mfem::Array< T >
Abstract data type Array.
Array<T> is an automatically increasing array containing elements of the generic type T, which must be a trivial type, see std::is_trivial. The allocated size may be larger then the logical size of the array. The elements can be accessed by the [] operator, the range is 0 to size-1.
Definition at line 45 of file array.hpp.