#include <Phalanx_Array.hpp>

Protected Attributes | |
| value_type * | m_ptr |
| Pointer to contiguous block of members. | |
| unsigned | m_rank |
| Rank of the array. | |
| size_type | m_stride [8] |
| Array of strides, smallest to largest. | |
| tag_type | m_tag [8] |
| Array of singleton tags, aligned with strides. | |
Friends | |
| class | PHX::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 unsigned | size_type |
| Type for sizes. | |
| typedef const ArrayDimTag * | tag_type |
| Type of runtime dimension tags. | |
| unsigned | 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 (const unsigned ordinal) const |
| Access the dimension tag-singleton for a given ordinate. | |
| unsigned | dimension (const unsigned ordinal) const |
| Dimension of the given ordinate. | |
| void | dimensions (std::vector< unsigned > &n) |
| Dimension of all ordinate. | |
| size_type | size () const |
| Total number of data items. | |
Constructors and Assignment Operators | |
| typedef ArrayReverse< Array >::type | 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. | |
| template<ArrayOrder order, class Tag1 , class Tag2 , class Tag3 , class Tag4 , class Tag5 , class Tag6 , class Tag7 , class Tag8 > | |
| Array (const Array< value_type, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > &rhs) | |
| Copy constructor from an Array with compile-time defined rank and dimension tags. | |
| Array (value_type *ptr, const unsigned rank, const unsigned *const dims, const tag_type *const tags) | |
Member data access operators | |
| Array | truncate (const unsigned 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. | |
| value_type & | operator[] (size_type i) const |
| Access member via full ordering of members. | |
| value_type & | operator() (const unsigned i1, const unsigned i2, const unsigned i3, const unsigned i4, const unsigned i5, const unsigned i6, const unsigned i7, const unsigned i8) const |
| Access member via Rank 8 multi-index. | |
| value_type & | operator() (const unsigned i1, const unsigned i2, const unsigned i3, const unsigned i4, const unsigned i5, const unsigned i6, const unsigned i7) const |
| value_type & | operator() (const unsigned i1, const unsigned i2, const unsigned i3, const unsigned i4, const unsigned i5, const unsigned i6) const |
| value_type & | operator() (const unsigned i1, const unsigned i2, const unsigned i3, const unsigned i4, const unsigned i5) const |
| value_type & | operator() (const unsigned i1, const unsigned i2, const unsigned i3, const unsigned i4) const |
| value_type & | operator() (const unsigned i1, const unsigned i2, const unsigned i3) const |
| value_type & | operator() (const unsigned i1, const unsigned i2) const |
| value_type & | operator() (const unsigned i1) const |
| 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. |
| typedef ArrayReverse< Array >::type PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::ReverseType |
| typedef unsigned PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::size_type |
Type for sizes.
| typedef const ArrayDimTag* PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::tag_type |
Type of runtime dimension tags.
| typedef Scalar PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::value_type |
Type of member data.
| anonymous enum |
| anonymous enum |
| anonymous enum |
| PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::Array | ( | ) | [inline] |
| PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::Array | ( | const Array< Scalar, array_order, void, void, void, void, void, void, void, void > & | rhs | ) | [inline] |
| PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::Array | ( | const ReverseType & | rhs | ) | [inline] |
Copy constructor for reverse type.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.
| PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::Array | ( | const Array< value_type, order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 > & | rhs | ) | [inline] |
Copy constructor from an Array with compile-time defined rank and dimension tags.
References PHX::Copy(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::tag().

| PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::Array | ( | value_type * | ptr, | |
| const unsigned | rank, | |||
| const unsigned *const | dims, | |||
| const tag_type *const | tags | |||
| ) | [inline] |
| bool PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::contiguous | ( | ) | const [inline] |
If the member data storage is contiguous.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::Contiguous.
| value_type* PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::contiguous_data | ( | ) | const [inline] |
Pointer to contiguous block of member data.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr.
| unsigned PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::dimension | ( | const unsigned | ordinal | ) | const [inline] |
Dimension of the given ordinate.
References PHX::array_check_ordinal(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::Natural.

| void PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::dimensions | ( | std::vector< unsigned > & | n | ) | [inline] |
Dimension of all ordinate.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::dimension().

| bool PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::natural | ( | ) | const [inline] |
If the multidimension follows the natural ordering.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::Natural.
| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1 | ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2 | |||
| ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2, | |||
| const unsigned | i3 | |||
| ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2, | |||
| const unsigned | i3, | |||
| const unsigned | i4 | |||
| ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2, | |||
| const unsigned | i3, | |||
| const unsigned | i4, | |||
| const unsigned | i5 | |||
| ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2, | |||
| const unsigned | i3, | |||
| const unsigned | i4, | |||
| const unsigned | i5, | |||
| const unsigned | i6 | |||
| ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2, | |||
| const unsigned | i3, | |||
| const unsigned | i4, | |||
| const unsigned | i5, | |||
| const unsigned | i6, | |||
| const unsigned | i7 | |||
| ) | const [inline] |
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator() | ( | const unsigned | i1, | |
| const unsigned | i2, | |||
| const unsigned | i3, | |||
| const unsigned | i4, | |||
| const unsigned | i5, | |||
| const unsigned | i6, | |||
| const unsigned | i7, | |||
| const unsigned | i8 | |||
| ) | const [inline] |
Access member via Rank 8 multi-index.
References ARRAY_CHECK, PHX::array_check_rank(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.

| Array& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator= | ( | const ReverseType & | rhs | ) | [inline] |
Assignment operator for reverse type.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.
| Array& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator= | ( | const Array< Scalar, array_order, void, void, void, void, void, void, void, void > & | rhs | ) | [inline] |
| value_type& PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator[] | ( | size_type | i | ) | const [inline] |
Access member via full ordering of members.
References ARRAY_CHECK, PHX::array_check_offset(), PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::size().

| unsigned PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::rank | ( | ) | const [inline] |
Rank of the array is the number of non-void dimension tags.
| bool PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::reverse | ( | ) | const [inline] |
If the multidimension follows the reverse (Fortran) ordering.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::Reverse.
| size_type PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::size | ( | ) | const [inline] |
Total number of data items.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.
| tag_type PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::tag | ( | const unsigned | ordinal | ) | const [inline] |
Access the dimension tag-singleton for a given ordinate.
References PHX::array_check_ordinal(), and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::Natural.

| Array PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::truncate | ( | const unsigned | i | ) | const [inline] |
Generate a subarray view of the array with the slowest striding ordinate offset by i and removed.
References PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_ptr, and PHX::Array< Scalar, array_order, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 >::m_stride.
friend class PHX::Array [friend] |
value_type* PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::m_ptr [protected] |
Pointer to contiguous block of members.
unsigned PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::m_rank [protected] |
Rank of the array.
size_type PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::m_stride[8] [protected] |
Array of strides, smallest to largest.
tag_type PHX::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::m_tag[8] [protected] |
Array of singleton tags, aligned with strides.
1.5.9