|
template<class Tag1 , class Tag2 , class Tag3 , class Tag4 , class Tag5 , class Tag6 , class Tag7 , class Tag8 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2, size_type n3, size_type n4, size_type n5, size_type n6, size_type n7, size_type n8) |
|
template<class Tag1 , class Tag2 , class Tag3 , class Tag4 , class Tag5 , class Tag6 , class Tag7 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2, size_type n3, size_type n4, size_type n5, size_type n6, size_type n7) |
|
template<class Tag1 , class Tag2 , class Tag3 , class Tag4 , class Tag5 , class Tag6 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2, size_type n3, size_type n4, size_type n5, size_type n6) |
|
template<class Tag1 , class Tag2 , class Tag3 , class Tag4 , class Tag5 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2, size_type n3, size_type n4, size_type n5) |
|
template<class Tag1 , class Tag2 , class Tag3 , class Tag4 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2, size_type n3, size_type n4) |
|
template<class Tag1 , class Tag2 , class Tag3 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2, size_type n3) |
|
template<class Tag1 , class Tag2 > |
Array & | assign (value_type *ptr, size_type n1, size_type n2) |
|
template<class Tag1 > |
Array & | assign (value_type *ptr, size_type n1) |
|
|
enum | { Natural = NaturalOrder == array_order
} |
| If the multidimension follows the natural ordering. More...
|
|
enum | { Reverse = FortranOrder == array_order
} |
| If the multidimension follows the reverse (Fortran) ordering. More...
|
|
enum | { Contiguous = true
} |
| If the member data storage is contiguous. More...
|
|
typedef Scalar | value_type |
| Type of member data.
|
|
typedef array_traits::int_t | size_type |
| Type for sizes.
|
|
typedef const ArrayDimTag * | tag_type |
| Type of runtime dimension tags.
|
|
size_type | rank () const |
| Rank of the array is the number of non-void dimension tags.
|
|
bool | natural () const |
| If the multidimension follows the natural ordering.
|
|
bool | reverse () const |
| If the multidimension follows the reverse (Fortran) ordering.
|
|
bool | contiguous () const |
| If the member data storage is contiguous.
|
|
tag_type | tag (size_type ord) const |
| Access the dimension tag-singleton for a given ordinate.
|
|
size_type | dimension (size_type ord) const |
| Dimension of the given ordinate.
|
|
template<typename iType > |
void | dimensions (std::vector< iType > &n) |
| Dimension of all ordinate.
|
|
size_type | size () const |
| Total number of data items.
|
|
|
typedef array_traits::Helper< Scalar, array_order, void, void, void, void, void, void, void, void >::reverse | ReverseType |
|
| Array () |
|
| Array (const Array &rhs) |
|
Array & | operator= (const Array &rhs) |
|
| Array (const ReverseType &rhs) |
| Copy constructor for reverse type.
|
|
Array & | operator= (const ReverseType &rhs) |
| Assignment operator for reverse type.
|
|
| Array (value_type *ptr, const size_type input_rank, const size_type *const dims, const tag_type *const tags) |
|
|
template<typename iType > |
Array | truncate (const iType &i) const |
| Generate a subarray view of the array with the slowest striding ordinate offset by i and removed.
|
|
value_type * | contiguous_data () const |
| Pointer to contiguous block of member data.
|
|
template<typename iType > |
value_type & | operator[] (const iType &i) const |
| Access member via full ordering of members.
|
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2, const iType &i3, const iType &i4, const iType &i5, const iType &i6, const iType &i7, const iType &i8) const |
| Access member via Rank 8 multi-index.
|
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2, const iType &i3, const iType &i4, const iType &i5, const iType &i6, const iType &i7) const |
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2, const iType &i3, const iType &i4, const iType &i5, const iType &i6) const |
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2, const iType &i3, const iType &i4, const iType &i5) const |
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2, const iType &i3, const iType &i4) const |
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2, const iType &i3) const |
|
template<typename iType > |
value_type & | operator() (const iType &i1, const iType &i2) const |
|
template<typename iType > |
value_type & | operator() (const iType &i1) const |
|
template<typename Scalar,
ArrayOrder array_order>
class shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >
The multi-dimensional Array interface with runtime user-defined dimension ordinates. Typically used when runtime-polymorphic arrays are passed to functions.
- Parameters
-
Scalar | The "plain old data" type of the array's member data. |
array_order | An ArrayOrder value that specifies whether to use Natural (a.k.a. C-language) or Fortran ordering for the multi-dimensions and multi-indices. |
Definition at line 3194 of file Shards_Array.hpp.