Phalanx  Development
 All Classes Functions Variables Typedefs Friends Pages
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 > Class Template Reference
Inheritance diagram for PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >:
Inheritance graph
[legend]

Public Types

typedef DataT value_type
 
typedef DataT & reference_type
 
typedef KokkosDimentionType
< DataT, Tag0, Tag1, Tag2,
Tag3, Tag4, Tag5, Tag6, Tag7 >
::type 
kokkos_data_type
 
typedef Kokkos::View
< kokkos_data_type,
PHX::Device > 
array_type
 
typedef array_type::array_layout layout_type
 
typedef array_type::device_type device_type
 
typedef PHX::Device::size_type size_type
 
typedef array_type::execution_space execution_space
 
typedef DataT value_type
 
typedef DataT & reference_type
 
typedef KokkosDimensionType
< DataT, Tag0, Tag1, Tag2,
Tag3, Tag4, Tag5, Tag6, Tag7 >
::type 
kokkos_data_type
 
typedef PHX::View
< kokkos_data_type > 
array_type
 
typedef array_type::array_layout layout_type
 
typedef array_type::device_type device_type
 
typedef PHX::Device::size_type size_type
 
typedef array_type::execution_space execution_space
 

Public Member Functions

KOKKOS_FORCEINLINE_FUNCTION MDField (const std::string &name, const Teuchos::RCP< PHX::DataLayout > &t)
 
KOKKOS_FORCEINLINE_FUNCTION MDField (const PHX::Tag< DataT > &v)
 
KOKKOS_FORCEINLINE_FUNCTION
const PHX::FieldTag
fieldTag () const
 
template<typename iType0 , typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 , typename iType6 , typename iType7 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5, iType6 index6, iType7 index7) const
 
template<typename iType0 , typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 , typename iType6 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5, iType6 index6) const
 
template<typename iType0 , typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5) const
 
template<typename iType0 , typename iType1 , typename iType2 , typename iType3 , typename iType4 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4) const
 
template<typename iType0 , typename iType1 , typename iType2 , typename iType3 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3) const
 
template<typename iType0 , typename iType1 , typename iType2 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2) const
 
template<typename iType0 , typename iType1 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0, iType1 index1) const
 
template<typename iType0 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (iType0 index0) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
rank () const
 
template<typename iType >
KOKKOS_INLINE_FUNCTION
constexpr std::enable_if
< std::is_integral< iType >
::value, size_t >::type 
extent (const iType &r) const
 
template<typename iType >
KOKKOS_INLINE_FUNCTION
constexpr std::enable_if
< std::is_integral< iType >
::value, int >::type 
extent_int (const iType &r) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (0) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (1) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (2) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (3) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (4) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (5) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (6) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
extent (7) const
 
template<typename iType >
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension (const iType &ord) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
size () const
 
void setFieldTag (const PHX::Tag< DataT > &t)
 
void setFieldData (const PHX::any &a)
 
void print (std::ostream &os, bool printValues=false) const
 
template<typename iType >
KOKKOS_FORCEINLINE_FUNCTION void dimensions (std::vector< iType > &dims)
 
KOKKOS_FORCEINLINE_FUNCTION
array_type 
get_kokkos_view ()
 
KOKKOS_FORCEINLINE_FUNCTION
const array_type 
get_kokkos_view () const
 
template<typename MDFieldType >
void deep_copy (const MDFieldType &source)
 
void deep_copy (const DataT source)
 
 MDField (const std::string &name, const Teuchos::RCP< PHX::DataLayout > &dl)
 
 MDField (const PHX::FieldTag &t)
 
 MDField (const Teuchos::RCP< const PHX::FieldTag > &t)
 
template<typename CopyDataT , typename T0 = void, typename T1 = void, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void>
 MDField (const MDField< CopyDataT, T0, T1, T2, T3, T4, T5, T6, T7 > &source)
 
const PHX::FieldTagfieldTag () const
 
Teuchos::RCP< const PHX::FieldTagfieldTagPtr () const
 
template<typename CopyDataT , typename T0 = void, typename T1 = void, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void>
PHX::MDField< DataT, Tag0,
Tag1, Tag2, Tag3, Tag4, Tag5,
Tag6, Tag7 > & 
operator= (const MDField< CopyDataT, T0, T1, T2, T3, T4, T5, T6, T7 > &source)
 
template<typename... index_pack>
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< array_type >::return_type 
operator() (const index_pack &...) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
rank () const
 
template<typename iType >
KOKKOS_INLINE_FUNCTION
constexpr std::enable_if
< std::is_integral< iType >
::value, size_t >::type 
extent (const iType &r) const
 
template<typename iType >
KOKKOS_INLINE_FUNCTION
constexpr std::enable_if
< std::is_integral< iType >
::value, int >::type 
extent_int (const iType &r) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_0 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_1 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_2 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_3 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_4 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_5 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_6 () const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension_7 () const
 
template<typename iType >
KOKKOS_FORCEINLINE_FUNCTION
size_type 
dimension (const iType &ord) const
 
KOKKOS_FORCEINLINE_FUNCTION
size_type 
size () const
 
void setFieldTag (const PHX::FieldTag &t)
 
void setFieldTag (const Teuchos::RCP< const PHX::FieldTag > &t)
 
void setFieldData (const PHX::any &a)
 
void print (std::ostream &os, bool printValues=false) const
 
template<typename iType >
void dimensions (std::vector< iType > &dims)
 
KOKKOS_FORCEINLINE_FUNCTION
Kokkos::DynRankView< DataT,
typename PHX::DevLayout< DataT >
::type, PHX::Device > 
get_view ()
 
KOKKOS_FORCEINLINE_FUNCTION
const Kokkos::DynRankView
< DataT, typename
PHX::DevLayout< DataT >::type,
PHX::Device > 
get_view () const
 
KOKKOS_FORCEINLINE_FUNCTION
array_type 
get_static_view ()
 Returns a static view of the underlying kokkos static view.
 
KOKKOS_FORCEINLINE_FUNCTION
const array_type 
get_static_view () const
 Returns a static view of the underlying kokkos static view.
 
template<typename SrcDataT , typename SrcTag0 , typename SrcTag1 , typename SrcTag2 , typename SrcTag3 , typename SrcTag4 , typename SrcTag5 , typename SrcTag6 , typename SrcTag7 >
void deep_copy (const PHX::MDField< SrcDataT, SrcTag0, SrcTag1, SrcTag2, SrcTag3, SrcTag4, SrcTag5, SrcTag6, SrcTag7 > &source)
 
void deep_copy (const DataT source)
 
template<typename iType0, typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 , typename iType6 , typename iType7 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5, iType6 index6, iType7 index7) const
 
template<typename iType0, typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 , typename iType6 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5, iType6 index6) const
 
template<typename iType0, typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5) const
 
template<typename iType0, typename iType1 , typename iType2 , typename iType3 , typename iType4 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4) const
 
template<typename iType0, typename iType1 , typename iType2 , typename iType3 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3) const
 
template<typename iType0, typename iType1 , typename iType2 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1, iType2 index2) const
 
template<typename iType0, typename iType1 >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index0, iType1 index1) const
 
template<typename iType0>
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (iType0 index1) const
 
template<typename iType >
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDField< DataT, Tag0,
Tag1, Tag2, Tag3, Tag4, Tag5,
Tag6, Tag7 >::size_type 
dimension (const iType &ord) const
 
template<typename CopyDataT , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
PHX::MDField< DataT, Tag0,
Tag1, Tag2, Tag3, Tag4, Tag5,
Tag6, Tag7 >template< typename
DataT, typename Tag0, typename
Tag1, typename Tag2, typename
Tag3, typename Tag4, typename
Tag5, typename Tag6, typename
Tag7 > 
MDField (const MDField< CopyDataT, T0, T1, T2, T3, T4, T5, T6, T7 > &source)
 
template<typename... index_pack>
KOKKOS_FORCEINLINE_FUNCTION
PHX::MDFieldTypeTraits
< typename PHX::MDField< DataT,
Tag0, Tag1, Tag2, Tag3, Tag4,
Tag5, Tag6, Tag7 >::array_type >
::return_type 
operator() (const index_pack &...indices) const
 

Static Public Attributes

static const int ArrayRank =array_type::Rank
 

Friends

template<typename ScalarT , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
class PHX::MDField
 

Member Function Documentation

template<typename DataT , typename Tag0 , typename Tag1 , typename Tag2 , typename Tag3 , typename Tag4 , typename Tag5 , typename Tag6 , typename Tag7 >
template<typename iType >
void PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::dimensions ( std::vector< iType > &  dims)

WARNING: The vector data in this method should be a "size_type" to be consistent with Kokkos, but for backwards compatibility during the transition, needs to be templated in the index type.

void dimensions(std::vector<size_type>& dims);

template<typename DataT , typename Tag0 , typename Tag1 , typename Tag2 , typename Tag3 , typename Tag4 , typename Tag5 , typename Tag6 , typename Tag7 >
template<typename iType >
KOKKOS_FORCEINLINE_FUNCTION void PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::dimensions ( std::vector< iType > &  dims)

WARNING: The vector data in this method should be a "size_type" to be consistent with Kokkos, but for backwards compatibility during the transition, needs to be templated in the index type.

void dimensions(std::vector<size_type>& dims);


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