Phalanx Development
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
PHX::MDALayout< Tags > Class Template Reference

A concrete implementation of the DataLayout class for compile time checked multidimensional arrays. More...

#include <Phalanx_DataLayout_MDALayout.hpp>

Inheritance diagram for PHX::MDALayout< Tags >:
Inheritance graph
[legend]
Collaboration diagram for PHX::MDALayout< Tags >:
Collaboration graph
[legend]

Public Member Functions

template<typename... Extents>
 MDALayout (Extents... extents)
 
template<typename... Extents>
 MDALayout (const std::string &prefix, Extents... extents)
 
template<typename... Extents>
 MDALayout (const char *prefix, Extents... extents)
 
virtual bool operator== (const DataLayout &right) const override
 
virtual PHX::Device::size_type rank () const override
 
virtual PHX::Device::size_type dimension (size_type ordinal) const override
 
virtual PHX::Device::size_type extent (size_type ordinal) const override
 
virtual int extent_int (size_type ordinal) const override
 
virtual void dimensions (std::vector< PHX::Device::size_type > &dim) const override
 
virtual std::string name (size_type ordinal) const override
 
virtual void names (std::vector< std::string > &names) const override
 
virtual PHX::Device::size_type size () const override
 
virtual PHX::DataLayout::KokkosLayoutType kokkosLayout () const override
 
virtual std::string identifier () const override
 Unique name identifier that can be used for strict weak ordering in stl std::map keys.
 
virtual void print (std::ostream &os, int offset) const override
 
- Public Member Functions inherited from PHX::DataLayout
virtual bool operator!= (const DataLayout &left) const
 
template<typename... extent_pack>
void setExtents (extent_pack... extents)
 

Static Public Attributes

static constexpr int Rank = PHX::PackSize<Tags...>::value
 

Protected Member Functions

virtual void setExtentsOnDerivedClass (const std::vector< PHX::Device::size_type > &extents) override
 

Additional Inherited Members

- Public Types inherited from PHX::DataLayout
enum class  KokkosLayoutType { Left , Right , Default }
 Defines the kokkos layout to use. Default uses the recommended layout from the default device execution space.
 
typedef PHX::Device::size_type size_type
 

Detailed Description

template<typename... Tags>
class PHX::MDALayout< Tags >

A concrete implementation of the DataLayout class for compile time checked multidimensional arrays.

Member Function Documentation

◆ dimension()

template<typename... Tags>
PHX::Device::size_type PHX::MDALayout< Tags >::dimension ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ dimensions()

template<typename... Tags>
void PHX::MDALayout< Tags >::dimensions ( std::vector< PHX::Device::size_type > &  dim) const
overridevirtual

Implements PHX::DataLayout.

◆ extent()

template<typename... Tags>
PHX::Device::size_type PHX::MDALayout< Tags >::extent ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ extent_int()

template<typename... Tags>
int PHX::MDALayout< Tags >::extent_int ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ identifier()

template<typename... Tags>
std::string PHX::MDALayout< Tags >::identifier ( ) const
overridevirtual

Unique name identifier that can be used for strict weak ordering in stl std::map keys.

Implements PHX::DataLayout.

◆ kokkosLayout()

template<typename... Tags>
PHX::DataLayout::KokkosLayoutType PHX::MDALayout< Tags >::kokkosLayout ( ) const
overridevirtual

Implements PHX::DataLayout.

◆ name()

template<typename... Tags>
std::string PHX::MDALayout< Tags >::name ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ names()

template<typename... Tags>
void PHX::MDALayout< Tags >::names ( std::vector< std::string > &  names) const
overridevirtual

Implements PHX::DataLayout.

◆ operator==()

template<typename... Tags>
bool PHX::MDALayout< Tags >::operator== ( const DataLayout right) const
overridevirtual

Implements PHX::DataLayout.

◆ print()

template<typename... Tags>
void PHX::MDALayout< Tags >::print ( std::ostream &  os,
int  offset 
) const
overridevirtual

Implements PHX::DataLayout.

◆ rank()

template<typename... Tags>
PHX::Device::size_type PHX::MDALayout< Tags >::rank ( ) const
overridevirtual

Implements PHX::DataLayout.

◆ setExtentsOnDerivedClass()

template<typename... Tags>
void PHX::MDALayout< Tags >::setExtentsOnDerivedClass ( const std::vector< PHX::Device::size_type > &  extents)
overrideprotectedvirtual

Implements PHX::DataLayout.

◆ size()

template<typename... Tags>
PHX::Device::size_type PHX::MDALayout< Tags >::size ( ) const
overridevirtual

Implements PHX::DataLayout.


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