Phalanx Development
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
PHX::Layout Class Reference

Default DataLayout implementation that allows for runtime sizing. More...

#include <Phalanx_DataLayout_DynamicLayout.hpp>

Inheritance diagram for PHX::Layout:
Inheritance graph
[legend]
Collaboration diagram for PHX::Layout:
Collaboration graph
[legend]

Public Types

using KokkosLayout = PHX::DataLayout::KokkosLayoutType
 
- 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
 

Public Member Functions

 Layout (const std::string &id="")
 
template<typename... extent_pack>
 Layout (const std::string &id, extent_pack... extents)
 
template<typename... extent_pack>
void setExtents (extent_pack... extents)
 
virtual void setKokkosLayout (const PHX::DataLayout::KokkosLayoutType &klt)
 
virtual bool operator== (const DataLayout &src) 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 PHX::Device::size_type size () const override
 
virtual std::string name (size_type ordinal) const override
 
virtual void names (std::vector< std::string > &names) 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 PHX::Device::size_type rank () const =0
 
virtual PHX::Device::size_type dimension (size_type ordinal) const =0
 
virtual PHX::Device::size_type extent (size_type ordinal) const =0
 
virtual int extent_int (size_type ordinal) const =0
 
virtual void dimensions (std::vector< PHX::Device::size_type > &dim) const =0
 
virtual PHX::Device::size_type size () const =0
 
virtual std::string name (size_type ordinal) const =0
 
virtual void names (std::vector< std::string > &names) const =0
 
virtual bool operator== (const DataLayout &left) const =0
 
virtual bool operator!= (const DataLayout &left) const
 
virtual PHX::DataLayout::KokkosLayoutType kokkosLayout () const =0
 
virtual std::string identifier () const =0
 Unique name identifier that can be used for strict weak ordering in stl std::map keys.
 
virtual void print (std::ostream &os, int indent=0) const =0
 
template<typename... extent_pack>
void setExtents (extent_pack... extents)
 

Protected Member Functions

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

Detailed Description

Default DataLayout implementation that allows for runtime sizing.

Member Function Documentation

◆ dimension()

PHX::Device::size_type PHX::Layout::dimension ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ dimensions()

void PHX::Layout::dimensions ( std::vector< PHX::Device::size_type > &  dim) const
overridevirtual

Implements PHX::DataLayout.

◆ extent()

PHX::Device::size_type PHX::Layout::extent ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ extent_int()

int PHX::Layout::extent_int ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ identifier()

std::string PHX::Layout::identifier ( ) const
overridevirtual

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

Implements PHX::DataLayout.

◆ kokkosLayout()

PHX::DataLayout::KokkosLayoutType PHX::Layout::kokkosLayout ( ) const
overridevirtual

Implements PHX::DataLayout.

◆ name()

std::string PHX::Layout::name ( size_type  ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ names()

void PHX::Layout::names ( std::vector< std::string > &  names) const
overridevirtual

Implements PHX::DataLayout.

◆ operator==()

bool PHX::Layout::operator== ( const DataLayout src) const
overridevirtual

Implements PHX::DataLayout.

◆ print()

void PHX::Layout::print ( std::ostream &  os,
int  offset 
) const
overridevirtual

Implements PHX::DataLayout.

◆ rank()

PHX::Device::size_type PHX::Layout::rank ( ) const
overridevirtual

Implements PHX::DataLayout.

◆ setExtentsOnDerivedClass()

void PHX::Layout::setExtentsOnDerivedClass ( const std::vector< PHX::Device::size_type > &  extents)
overrideprotectedvirtual

Implements PHX::DataLayout.

◆ size()

PHX::Device::size_type PHX::Layout::size ( ) const
overridevirtual

Implements PHX::DataLayout.


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