|
shards Version of the Day
|
The multi-dimensional Array interface with runtime user-defined dimension ordinates. Typically used when runtime-polymorphic arrays are passed to functions. More...
#include <Shards_Array.hpp>

Public Member Functions | |
| 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) |
Protected Attributes | |
| Array< value_type, array_order > | m_array |
Friends | |
| template<typename, ArrayOrder, class, class, class, class, class, class, class, class> | |
| class | shards::Array |
Array Attributes | |
| 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. | |
Constructors and Assignment Operators | |
| typedef array_traits::Helper< Scalar, array_order, void, void, void, void, void, void, void, void >::reverse | ReverseType |
| 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) | |
Array Attributes | |
| enum | |
| Rank of the array is the number of non-void dimension tags. More... | |
| enum | |
| If the multidimension follows the natural ordering. More... | |
| enum | |
| If the multidimension follows the reverse (Fortran) ordering. More... | |
| enum | |
| If the member data storage is contiguous. More... | |
Member data access operators | |
| typedef helper::truncate | TruncateType |
| Subarray type that removes the slowest striding dimension (first natural or last fortran ordinate). | |
Member data access operators | |
| 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 |
Constructors and Assignment Operators | |
| operator const Array< Scalar, array_order > & () const | |
| Return internal runtime implementation of the array. | |
| operator typename Array< Scalar, array_order >::ReverseType () const | |
| Return constructed reversed-ordering array. | |
| void | assign_stride (value_type *arg_ptr, const size_type *arg_stride) |
| Assign stride and pointer. | |
The multi-dimensional Array interface with runtime user-defined dimension ordinates. Typically used when runtime-polymorphic arrays are passed to functions.
| 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 3158 of file Shards_Array.hpp.
| typedef Scalar shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::value_type |
Type of member data.
Definition at line 3168 of file Shards_Array.hpp.
| typedef array_traits::int_t shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::size_type |
Type for sizes.
Definition at line 3171 of file Shards_Array.hpp.
| typedef const ArrayDimTag* shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::tag_type |
Type of runtime dimension tags.
Definition at line 3174 of file Shards_Array.hpp.
| typedef array_traits::Helper<Scalar,array_order,void,void,void,void,void,void,void,void>::reverse shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::ReverseType |
Definition at line 3332 of file Shards_Array.hpp.
| typedef helper::truncate shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::TruncateType |
Subarray type that removes the slowest striding dimension (first natural or last fortran ordinate).
Definition at line 3676 of file Shards_Array.hpp.
| anonymous enum |
If the multidimension follows the natural ordering.
Definition at line 3179 of file Shards_Array.hpp.
| anonymous enum |
If the multidimension follows the reverse (Fortran) ordering.
Definition at line 3182 of file Shards_Array.hpp.
| anonymous enum |
If the member data storage is contiguous.
Definition at line 3185 of file Shards_Array.hpp.
| anonymous enum |
Rank of the array is the number of non-void dimension tags.
Definition at line 3607 of file Shards_Array.hpp.
| anonymous enum |
If the multidimension follows the natural ordering.
Definition at line 3610 of file Shards_Array.hpp.
| anonymous enum |
If the multidimension follows the reverse (Fortran) ordering.
Definition at line 3613 of file Shards_Array.hpp.
| anonymous enum |
If the member data storage is contiguous.
Definition at line 3616 of file Shards_Array.hpp.
|
inline |
Definition at line 3336 of file Shards_Array.hpp.
|
inline |
Definition at line 3343 of file Shards_Array.hpp.
|
inline |
Copy constructor for reverse type.
Definition at line 3360 of file Shards_Array.hpp.
|
inline |
Definition at line 3380 of file Shards_Array.hpp.
|
inline |
Rank of the array is the number of non-void dimension tags.
Definition at line 3188 of file Shards_Array.hpp.
|
inline |
If the multidimension follows the natural ordering.
Definition at line 3191 of file Shards_Array.hpp.
|
inline |
If the multidimension follows the reverse (Fortran) ordering.
Definition at line 3194 of file Shards_Array.hpp.
|
inline |
If the member data storage is contiguous.
Definition at line 3197 of file Shards_Array.hpp.
|
inline |
Access the dimension tag-singleton for a given ordinate.
Definition at line 3202 of file Shards_Array.hpp.
|
inline |
Dimension of the given ordinate.
Definition at line 3212 of file Shards_Array.hpp.
|
inline |
Dimension of all ordinate.
Definition at line 3221 of file Shards_Array.hpp.
|
inline |
Total number of data items.
Definition at line 3228 of file Shards_Array.hpp.
|
inline |
Generate a subarray view of the array with the slowest striding ordinate offset by i and removed.
Definition at line 3240 of file Shards_Array.hpp.
|
inline |
Pointer to contiguous block of member data.
Definition at line 3244 of file Shards_Array.hpp.
|
inline |
Access member via full ordering of members.
Definition at line 3248 of file Shards_Array.hpp.
|
inline |
Access member via Rank 8 multi-index.
Definition at line 3257 of file Shards_Array.hpp.
|
inline |
Definition at line 3267 of file Shards_Array.hpp.
|
inline |
Definition at line 3277 of file Shards_Array.hpp.
|
inline |
Definition at line 3286 of file Shards_Array.hpp.
|
inline |
Definition at line 3295 of file Shards_Array.hpp.
|
inline |
Definition at line 3303 of file Shards_Array.hpp.
|
inline |
Definition at line 3311 of file Shards_Array.hpp.
|
inline |
Definition at line 3318 of file Shards_Array.hpp.
|
inline |
Definition at line 3350 of file Shards_Array.hpp.
|
inline |
Assignment operator for reverse type.
Definition at line 3368 of file Shards_Array.hpp.
|
inline |
Definition at line 3394 of file Shards_Array.hpp.
|
inline |
Definition at line 3411 of file Shards_Array.hpp.
|
inline |
Definition at line 3427 of file Shards_Array.hpp.
|
inline |
Definition at line 3444 of file Shards_Array.hpp.
|
inline |
Definition at line 3460 of file Shards_Array.hpp.
|
inline |
Definition at line 3475 of file Shards_Array.hpp.
|
inline |
Definition at line 3490 of file Shards_Array.hpp.
|
inline |
Definition at line 3505 of file Shards_Array.hpp.
|
inline |
Return internal runtime implementation of the array.
Definition at line 4056 of file Shards_Array.hpp.
|
inline |
Return constructed reversed-ordering array.
Definition at line 4059 of file Shards_Array.hpp.
|
inline |
Assign stride and pointer.
Definition at line 4063 of file Shards_Array.hpp.
|
friend |
Definition at line 3554 of file Shards_Array.hpp.
|
protected |
Definition at line 4096 of file Shards_Array.hpp.