shards Version of the Day
Loading...
Searching...
No Matches
shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void > Class Template Reference

Specialization for an array with Rank = 0. More...

#include <Shards_Array.hpp>

Inheritance diagram for shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >:

Protected Attributes

Array< value_type, array_order > m_array

Friends

class shards::Array

Array Attributes

enum  { Rank = 0 }
 Rank of the array is the number of non-void dimension tags. More...
enum  { Natural = false }
 If the multidimension follows the natural ordering. More...
enum  { Reverse = false }
 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 ArrayDimTagtag_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.
size_type size () const
 Total number of member data items.

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...
tag_type tag (const size_type ordinate) const
 Access the dimension tag-singleton for a given ordinate.
size_type dimension () const
 Dimension of the given ordinate.
void dimensions (std::vector< iType > &n)
 Dimensions of all ordinates.

Member data access operators

typedef helper::truncate TruncateType
 Subarray type that removes the slowest striding dimension (first natural or last fortran ordinate).
TruncateType truncate (const iType &i) const
 Generate a subarray view of the array with the slowest striding ordinate offset by i and removed.
value_typeoperator[] (const iType &i) const
 Access member via offset into contiguous block.

Constructors and Assignment Operators

typedef helper::reverse ReverseType
 The compatible multidimensional array with reversed multi-index ordering and dimension tags.
Array & assign (value_type *arg_ptr, const size_type *const dims)
 Assign pointer and dimensions.
 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.

Member data access operators

value_typecontiguous_data () const
 Pointer to contiguous block of member data.
value_typeoperator() () const
 Access member via Rank 0 multi-index.

Constructors and Assignment Operators

 Array (const Array &rhs)
Array & operator= (const Array &rhs)
 Array (value_type *arg_ptr)

Detailed Description

template<typename Scalar>
class shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >

Specialization for an array with Rank = 0.

Definition at line 4110 of file Shards_Array.hpp.

Member Typedef Documentation

◆ value_type

template<typename Scalar>
typedef Scalar shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::value_type

Type of member data.

Definition at line 4118 of file Shards_Array.hpp.

◆ size_type

template<typename Scalar>
typedef array_traits::int_t shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::size_type

Type for sizes.

Definition at line 4121 of file Shards_Array.hpp.

◆ tag_type

template<typename Scalar>
typedef const ArrayDimTag* shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::tag_type

Type of runtime dimension tags.

Definition at line 4124 of file Shards_Array.hpp.

◆ TruncateType

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.

◆ ReverseType

typedef helper::reverse shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::ReverseType

The compatible multidimensional array with reversed multi-index ordering and dimension tags.

Definition at line 3780 of file Shards_Array.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename Scalar>
anonymous enum

Rank of the array is the number of non-void dimension tags.

Definition at line 4129 of file Shards_Array.hpp.

◆ anonymous enum

template<typename Scalar>
anonymous enum

If the multidimension follows the natural ordering.

Definition at line 4132 of file Shards_Array.hpp.

◆ anonymous enum

template<typename Scalar>
anonymous enum

If the multidimension follows the reverse (Fortran) ordering.

Definition at line 4135 of file Shards_Array.hpp.

◆ anonymous enum

template<typename Scalar>
anonymous enum

If the member data storage is contiguous.

Definition at line 4138 of file Shards_Array.hpp.

◆ anonymous enum

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

anonymous enum

If the multidimension follows the natural ordering.

Definition at line 3610 of file Shards_Array.hpp.

◆ anonymous enum

anonymous enum

If the multidimension follows the reverse (Fortran) ordering.

Definition at line 3613 of file Shards_Array.hpp.

◆ anonymous enum

anonymous enum

If the member data storage is contiguous.

Definition at line 3616 of file Shards_Array.hpp.

Constructor & Destructor Documentation

◆ Array() [1/3]

template<typename Scalar>
shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::Array ( )
inline

Definition at line 4175 of file Shards_Array.hpp.

◆ Array() [2/3]

template<typename Scalar>
shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::Array ( const Array< Scalar, RankZero, void, void, void, void, void, void, void, void > & rhs)
inline

Definition at line 4177 of file Shards_Array.hpp.

◆ Array() [3/3]

template<typename Scalar>
shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::Array ( value_type * arg_ptr)
inline

Definition at line 4185 of file Shards_Array.hpp.

Member Function Documentation

◆ rank()

template<typename Scalar>
size_type shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::rank ( ) const
inline

Rank of the array is the number of non-void dimension tags.

Definition at line 4141 of file Shards_Array.hpp.

◆ natural()

template<typename Scalar>
bool shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::natural ( ) const
inline

If the multidimension follows the natural ordering.

Definition at line 4144 of file Shards_Array.hpp.

◆ reverse()

template<typename Scalar>
bool shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::reverse ( ) const
inline

If the multidimension follows the reverse (Fortran) ordering.

Definition at line 4147 of file Shards_Array.hpp.

◆ contiguous()

template<typename Scalar>
bool shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::contiguous ( ) const
inline

If the member data storage is contiguous.

Definition at line 4150 of file Shards_Array.hpp.

◆ size()

template<typename Scalar>
size_type shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::size ( ) const
inline

Total number of member data items.

Definition at line 4155 of file Shards_Array.hpp.

◆ contiguous_data()

template<typename Scalar>
value_type * shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::contiguous_data ( ) const
inline

Pointer to contiguous block of member data.

Definition at line 4164 of file Shards_Array.hpp.

◆ operator()()

template<typename Scalar>
value_type & shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::operator() ( ) const
inline

Access member via Rank 0 multi-index.

Definition at line 4167 of file Shards_Array.hpp.

◆ operator=()

template<typename Scalar>
Array & shards::Array< Scalar, RankZero, void, void, void, void, void, void, void, void >::operator= ( const Array< Scalar, RankZero, void, void, void, void, void, void, void, void > & rhs)
inline

Definition at line 4179 of file Shards_Array.hpp.

◆ tag()

tag_type shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::tag ( const size_type ordinate) const
inline

Access the dimension tag-singleton for a given ordinate.

Definition at line 3641 of file Shards_Array.hpp.

◆ dimension()

size_type shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::dimension ( ) const
inline

Dimension of the given ordinate.

Definition at line 3646 of file Shards_Array.hpp.

◆ dimensions()

void shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::dimensions ( std::vector< iType > & n)
inline

Dimensions of all ordinates.

Definition at line 3661 of file Shards_Array.hpp.

◆ truncate()

TruncateType shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::truncate ( const iType & i) const
inline

Generate a subarray view of the array with the slowest striding ordinate offset by i and removed.

Definition at line 3683 of file Shards_Array.hpp.

◆ operator[]()

value_type & shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator[] ( const iType & i) const
inline

Access member via offset into contiguous block.

Definition at line 3692 of file Shards_Array.hpp.

◆ assign()

Array & shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::assign ( value_type * arg_ptr,
const size_type *const dims )
inline

Assign pointer and dimensions.

Definition at line 3801 of file Shards_Array.hpp.

◆ operator const Array< Scalar, array_order > &()

shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator const Array< Scalar, array_order > & ( ) const
inline

Return internal runtime implementation of the array.

Definition at line 4056 of file Shards_Array.hpp.

◆ operator typename Array< Scalar, array_order >::ReverseType()

shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::operator typename Array< Scalar, array_order >::ReverseType ( ) const
inline

Return constructed reversed-ordering array.

Definition at line 4059 of file Shards_Array.hpp.

◆ assign_stride()

void shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::assign_stride ( value_type * arg_ptr,
const size_type * arg_stride )
inline

Assign stride and pointer.

Definition at line 4063 of file Shards_Array.hpp.

◆ shards::Array

friend class shards::Array
friend

Definition at line 4101 of file Shards_Array.hpp.

Member Data Documentation

◆ m_array

Array<value_type,array_order> shards::Array< Scalar, array_order, void, void, void, void, void, void, void, void >::m_array
protected

Definition at line 4096 of file Shards_Array.hpp.


The documentation for this class was generated from the following file: