|
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) |
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. More... | |
| typedef array_traits::int_t | size_type |
| Type for sizes. More... | |
| typedef const ArrayDimTag * | tag_type |
| Type of runtime dimension tags. More... | |
| size_type | rank () const |
| Rank of the array is the number of non-void dimension tags. More... | |
| bool | natural () const |
| If the multidimension follows the natural ordering. More... | |
| bool | reverse () const |
| If the multidimension follows the reverse (Fortran) ordering. More... | |
| bool | contiguous () const |
| If the member data storage is contiguous. More... | |
| tag_type | tag (size_type ord) const |
| Access the dimension tag-singleton for a given ordinate. More... | |
| size_type | dimension (size_type ord) const |
| Dimension of the given ordinate. More... | |
| template<typename iType > | |
| void | dimensions (std::vector< iType > &n) |
| Dimension of all ordinate. More... | |
| size_type | size () const |
| Total number of data items. More... | |
Constructors and Assignment Operators | |
| 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. More... | |
| Array & | operator= (const ReverseType &rhs) |
| Assignment operator for reverse type. More... | |
| Array (value_type *ptr, const size_type input_rank, const size_type *const dims, const tag_type *const tags) | |
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. More... | |
| value_type * | contiguous_data () const |
| Pointer to contiguous block of member data. More... | |
| template<typename iType > | |
| value_type & | operator[] (const iType &i) const |
| Access member via full ordering of members. More... | |
| 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. More... | |
| 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 |
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 3194 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 3204 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 3207 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 3210 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 3368 of file Shards_Array.hpp.
| anonymous enum |
If the multidimension follows the natural ordering.
Definition at line 3215 of file Shards_Array.hpp.
| anonymous enum |
If the multidimension follows the reverse (Fortran) ordering.
Definition at line 3218 of file Shards_Array.hpp.
| anonymous enum |
If the member data storage is contiguous.
Definition at line 3221 of file Shards_Array.hpp.
|
inline |
Definition at line 3372 of file Shards_Array.hpp.
|
inline |
Definition at line 3379 of file Shards_Array.hpp.
|
inline |
Copy constructor for reverse type.
Definition at line 3396 of file Shards_Array.hpp.
|
inline |
Definition at line 3416 of file Shards_Array.hpp.
|
inline |
Rank of the array is the number of non-void dimension tags.
Definition at line 3224 of file Shards_Array.hpp.
|
inline |
If the multidimension follows the natural ordering.
Definition at line 3227 of file Shards_Array.hpp.
|
inline |
If the multidimension follows the reverse (Fortran) ordering.
Definition at line 3230 of file Shards_Array.hpp.
|
inline |
If the member data storage is contiguous.
Definition at line 3233 of file Shards_Array.hpp.
|
inline |
Access the dimension tag-singleton for a given ordinate.
Definition at line 3238 of file Shards_Array.hpp.
|
inline |
Dimension of the given ordinate.
Definition at line 3248 of file Shards_Array.hpp.
|
inline |
Dimension of all ordinate.
Definition at line 3257 of file Shards_Array.hpp.
|
inline |
Total number of data items.
Definition at line 3264 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 3276 of file Shards_Array.hpp.
|
inline |
Pointer to contiguous block of member data.
Definition at line 3280 of file Shards_Array.hpp.
|
inline |
Access member via full ordering of members.
Definition at line 3284 of file Shards_Array.hpp.
|
inline |
Access member via Rank 8 multi-index.
Definition at line 3293 of file Shards_Array.hpp.
|
inline |
Definition at line 3303 of file Shards_Array.hpp.
|
inline |
Definition at line 3313 of file Shards_Array.hpp.
|
inline |
Definition at line 3322 of file Shards_Array.hpp.
|
inline |
Definition at line 3331 of file Shards_Array.hpp.
|
inline |
Definition at line 3339 of file Shards_Array.hpp.
|
inline |
Definition at line 3347 of file Shards_Array.hpp.
|
inline |
Definition at line 3354 of file Shards_Array.hpp.
|
inline |
Definition at line 3386 of file Shards_Array.hpp.
|
inline |
Assignment operator for reverse type.
Definition at line 3404 of file Shards_Array.hpp.
|
inline |
Definition at line 3430 of file Shards_Array.hpp.
|
inline |
Definition at line 3447 of file Shards_Array.hpp.
|
inline |
Definition at line 3463 of file Shards_Array.hpp.
|
inline |
Definition at line 3480 of file Shards_Array.hpp.
|
inline |
Definition at line 3496 of file Shards_Array.hpp.
|
inline |
Definition at line 3511 of file Shards_Array.hpp.
|
inline |
Definition at line 3526 of file Shards_Array.hpp.
|
inline |
Definition at line 3541 of file Shards_Array.hpp.
|
friend |
Definition at line 3590 of file Shards_Array.hpp.