|
| 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.