|
| MHO_NDArrayWrapper () |
|
| MHO_NDArrayWrapper (const MHO_NDArrayWrapper &obj) |
|
| MHO_NDArrayWrapper (const std::size_t *dim) |
|
| MHO_NDArrayWrapper (XValueType *ptr, const std::size_t *dim) |
|
virtual | ~MHO_NDArrayWrapper () |
|
template<typename... XIndexTypeS> |
std::enable_if<(sizeof...(XIndexTypeS)==RANK), XValueType & >::type | at (XIndexTypeS... idx) |
| at(): same as operator(...) but with bounds checking with bounds checking More...
|
|
template<typename... XIndexTypeS> |
std::enable_if<(sizeof...(XIndexTypeS)==RANK), const XValueType & >::type | at (XIndexTypeS... idx) const |
| at(): same as const operator(...) but with bounds checking with bounds checking More...
|
|
iterator | begin () |
|
const_iterator | cbegin () const |
|
const_iterator | cend () const |
|
bool | CheckIndexValidity (const index_type &idx) const |
|
const_iterator | citerator_at (std::size_t offset) const |
|
MHO_NDArrayWrapper * | Clone () |
| clone functionality - creates a deep copy of this MHO_NDArrayWrapper object. More...
|
|
virtual void | Copy (const MHO_NDArrayView< XValueType, RANK > &rhs) |
|
virtual void | Copy (const MHO_NDArrayWrapper &rhs) |
|
const_stride_iterator | cstride_begin (std::size_t stride) const |
|
const_stride_iterator | cstride_end (std::size_t stride) const |
|
const_stride_iterator | cstride_iterator_at (std::size_t offset, std::size_t stride) const |
|
iterator | end () |
|
XValueType * | GetData () |
| access to underlying data pointer (unsafe) More...
|
|
const XValueType * | GetData () const |
|
std::size_t | GetDimension (std::size_t idx) const |
| Getter for dimension. More...
|
|
index_type | GetDimensionArray () const |
| Getter for dimension array. More...
|
|
const std::size_t * | GetDimensions () const |
| get the dimensions/shape of the array More...
|
|
void | GetDimensions (std::size_t *dim) const |
| Getter for dimensions, fills passed array. More...
|
|
index_type | GetIndicesForOffset (std::size_t offset) |
| invert (memory) offset into array to indexes of the associated element More...
|
|
std::size_t | GetOffsetForIndices (const std::size_t *index) |
| compute (memory) offset into array from a set of indexes More...
|
|
std::size_t | GetRank () const |
| Getter for the rank (dimensionality) of the array. More...
|
|
std::size_t | GetSize () const |
| get the total size of the array More...
|
|
std::size_t | GetStride (std::size_t idx) const |
|
index_type | GetStrideArray () const |
|
const std::size_t * | GetStrides () const |
| Getter for element strides (along each dimension) More...
|
|
void | GetStrides (std::size_t *strd) const |
| Getter for strides (along each dimension), fills passed array. More...
|
|
iterator | iterator_at (std::size_t offset) |
|
template<typename... XIndexTypeS> |
std::enable_if<(sizeof...(XIndexTypeS)==RANK), XValueType & >::type | operator() (XIndexTypeS... idx) |
| access operator, accepts multiple indices (,,...,) but does no bounds checking More...
|
|
template<typename... XIndexTypeS> |
std::enable_if<(sizeof...(XIndexTypeS)==RANK), const XValueType & >::type | operator() (XIndexTypeS... idx) const |
| const reference access operator, accepts multiple indices (,,...,) but does no bounds checking More...
|
|
MHO_NDArrayWrapper & | operator*= (const MHO_NDArrayWrapper &anArray) |
| operator*= in place point-wise multiplication by another array More...
|
|
template<typename T > |
std::enable_if< std::is_same< XValueType, T >::value or std::is_integral< T >::value or std::is_floating_point< T >::value, MHO_NDArrayWrapper & >::type | operator*= (T aScalar) |
| operator*= in place multiplication by a scalar factor More...
|
|
MHO_NDArrayWrapper & | operator+= (const MHO_NDArrayWrapper &anArray) |
| operator+= in place point-wise addition by another array More...
|
|
template<typename T > |
std::enable_if< std::is_same< XValueType, T >::value or std::is_integral< T >::value or std::is_floating_point< T >::value, MHO_NDArrayWrapper & >::type | operator+= (T aScalar) |
| operator+= in place addition by a scalar amount More...
|
|
MHO_NDArrayWrapper & | operator-= (const MHO_NDArrayWrapper &anArray) |
| operator-= in place point-wise subtraction by another array More...
|
|
template<typename T > |
std::enable_if< std::is_same< XValueType, T >::value or std::is_integral< T >::value or std::is_floating_point< T >::value, MHO_NDArrayWrapper & >::type | operator-= (T aScalar) |
| operator+= in place addition by a scalar amount More...
|
|
MHO_NDArrayWrapper & | operator= (const MHO_NDArrayWrapper &rhs) |
|
XValueType & | operator[] (std::size_t i) |
|
const XValueType & | operator[] (std::size_t i) const |
|
virtual void | Resize (const std::size_t *dim) |
| Destroys contents and resizes using passed dimensions. More...
|
|
template<typename... XDimSizeTypeS> |
std::enable_if<(sizeof...(XDimSizeTypeS)==RANK), void >::type | Resize (XDimSizeTypeS... dim) |
| Resize function that destroys contents and resizes according to dimension arguments. More...
|
|
void | SetArray (const XValueType &obj) |
| set all elements in the array to a certain value More...
|
|
void | SetExternalData (XValueType *ptr, const std::size_t *dim) |
| set data pointer to externally managed array with associated dimensions More...
|
|
template<typename... XIndexTypeS> |
std::enable_if<(sizeof...(XIndexTypeS)==RANK), MHO_NDArrayView< XValueType, count_instances_of_type< const char *, sizeof...(XIndexTypeS) - 1, XIndexTypeS... >::value > >::type | SliceView (XIndexTypeS... idx) |
| creates a slice-view of the array (given n < RANK indexes), return the remaining chunk of the array with freely spanning indexes the placeholder for the free-spanning indexes is the character ":" for example: a ndarray X of RANK=3, and sizes [4,12,32], then SliceView(":",3,":") returns an MHO_NDArrayView of RANK=2, and dimensions [4,32] starting at the location of X(0,3,0), and spanning the data covered by X(":",3,":") Data of the slice-view points to data owned by original array X More...
|
|
stride_iterator | stride_begin (std::size_t stride) |
|
stride_iterator | stride_end (std::size_t stride) |
|
stride_iterator | stride_iterator_at (std::size_t offset, std::size_t stride) |
|
template<typename... XIndexTypeS> |
std::enable_if<(sizeof...(XIndexTypeS)< RANK), MHO_NDArrayView< XValueType, RANK -(sizeof...(XIndexTypeS)) > >::type | SubView (XIndexTypeS... idx) |
| creates a sub-view of the array (given n < RANK leading indexes), return the remaining chunk of the array with freely spanning indexes for example: a ndarray X of RANK=3, and sizes [4,12,32], then SubView(2) returns an MHO_NDArrayView of RANK=2, and dimensions [12,32] starting at the location of X(2,0,0). Data of the subview points to data owned by X More...
|
|
XValueType & | ValueAt (const index_type &idx) |
|
const XValueType & | ValueAt (const index_type &idx) const |
|
void | ZeroArray () |
| set all elements in the array to zero More...
|
|
| MHO_ExtensibleElement () |
|
virtual | ~MHO_ExtensibleElement () |
|
void | Accept (MHO_Visitor *aVisitor) override |
| Visits all extensions of MHO_ExtensibleElement using given visitor. More...
|
|
template<class XExtensionType > |
MHO_ExtendedElement< XExtensionType > * | AsExtension () |
| Returns an extension of type XExtensionType if found in the list of extensions. More...
|
|
template<class XExtensionType > |
bool | HasExtension () const |
| Checks if an extensible element has a specific extension type. More...
|
|
template<class XExtensionType > |
MHO_ExtendedElement< XExtensionType > * | MakeExtension () |
| Creates and adds a new extension of type XExtensionType to the list of extensions. More...
|
|
| MHO_Element () |
|
virtual | ~MHO_Element () |
|
template<typename XValueType, std::size_t RANK>
class hops::MHO_NDArrayWrapper< XValueType, RANK >
Class MHO_NDArrayWrapper.
MHO_NDArrayWrapper is a class to represent a n-dimensional array (implemented around a 1-d memory array)
- Author
- J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
- Date
- Mon May 11 15:51:26 2020 -0400
Thu 13 Aug 2020 02:53:11 PM EDT