www.cemf.ir
indexContainer< IndexType > Class Template Reference
+ Inheritance diagram for indexContainer< IndexType >:

Classes

class  IndexAccessor
 

Public Types

using DualViewType = Kokkos::DualView< IndexType * >
 
using DeviceViewType = typename DualViewType::t_dev
 
using HostViewType = typename DualViewType::t_host
 
using HostType = typename HostViewType::device_type
 
using DeviceType = typename DeviceViewType::device_type
 

Public Member Functions

 indexContainer ()
 
 indexContainer (IndexType begin, IndexType end)
 
 indexContainer (IndexType *data, int32 numElems)
 
 indexContainer (const indexContainer &)=default
 
indexContaineroperator= (const indexContainer &)=default
 
 indexContainer (indexContainer &&)=default
 
indexContaineroperator= (indexContainer &&)=default
 
 ~indexContainer ()=default
 
INLINE_FUNCTION_HD size_t size () const
 
INLINE_FUNCTION_HD size_t empty () const
 
INLINE_FUNCTION_HD IndexType min () const
 
INLINE_FUNCTION_HD IndexType max () const
 
template<typename executionSpace >
INLINE_FUNCTION_HD IndexType operator() (selectSide< executionSpace >, int32 i) const
 
const HostViewTypehostView () const
 
const DeviceViewTypedeviceView () const
 
HostViewTypehostView ()
 
DeviceViewTypedeviceView ()
 
auto indicesHost () const
 
auto indicesDevice () const
 
void modifyOnHost ()
 
void modifyOnDevice ()
 
void syncViews ()
 
size_t setSize (size_t ns)
 

Protected Attributes

int32 min_ = 0
 
int32 max_ = 0
 
size_t size_ = 0
 
DualViewType views_
 

Detailed Description

template<typename IndexType>
class pFlow::indexContainer< IndexType >

Definition at line 34 of file indexContainer.hpp.

Member Typedef Documentation

◆ DualViewType

using DualViewType = Kokkos::DualView<IndexType*>

Definition at line 38 of file indexContainer.hpp.

◆ DeviceViewType

using DeviceViewType = typename DualViewType::t_dev

Definition at line 41 of file indexContainer.hpp.

◆ HostViewType

using HostViewType = typename DualViewType::t_host

Definition at line 44 of file indexContainer.hpp.

◆ HostType

using HostType = typename HostViewType::device_type

Definition at line 46 of file indexContainer.hpp.

◆ DeviceType

using DeviceType = typename DeviceViewType::device_type

Definition at line 48 of file indexContainer.hpp.

Constructor & Destructor Documentation

◆ indexContainer() [1/5]

indexContainer ( )
inline

Definition at line 77 of file indexContainer.hpp.

◆ indexContainer() [2/5]

indexContainer ( IndexType  begin,
IndexType  end 
)
inline

Definition at line 80 of file indexContainer.hpp.

◆ indexContainer() [3/5]

indexContainer ( IndexType *  data,
int32  numElems 
)
inline

Definition at line 92 of file indexContainer.hpp.

◆ indexContainer() [4/5]

indexContainer ( const indexContainer< IndexType > &  )
default

◆ indexContainer() [5/5]

indexContainer ( indexContainer< IndexType > &&  )
default

◆ ~indexContainer()

~indexContainer ( )
default

Member Function Documentation

◆ operator=() [1/2]

indexContainer& operator= ( const indexContainer< IndexType > &  )
default

◆ operator=() [2/2]

indexContainer& operator= ( indexContainer< IndexType > &&  )
default

◆ size()

◆ empty()

INLINE_FUNCTION_HD size_t empty ( ) const
inline

Definition at line 121 of file indexContainer.hpp.

Referenced by VectorSingle< realx3, void >::insertSetElement().

+ Here is the caller graph for this function:

◆ min()

INLINE_FUNCTION_HD IndexType min ( ) const
inline

Definition at line 127 of file indexContainer.hpp.

Referenced by VectorDual< int8 >::insertSetElement().

+ Here is the caller graph for this function:

◆ max()

INLINE_FUNCTION_HD IndexType max ( ) const
inline

Definition at line 133 of file indexContainer.hpp.

Referenced by VectorSingle< realx3, void >::insertSetElement(), and VectorDual< int8 >::insertSetElement().

+ Here is the caller graph for this function:

◆ operator()()

INLINE_FUNCTION_HD IndexType operator() ( selectSide< executionSpace >  ,
int32  i 
) const
inline

Definition at line 140 of file indexContainer.hpp.

◆ hostView() [1/2]

◆ deviceView() [1/2]

◆ hostView() [2/2]

HostViewType& hostView ( )
inline

Definition at line 161 of file indexContainer.hpp.

◆ deviceView() [2/2]

DeviceViewType& deviceView ( )
inline

Definition at line 166 of file indexContainer.hpp.

◆ indicesHost()

auto indicesHost ( ) const
inline

Definition at line 171 of file indexContainer.hpp.

Referenced by dynamicPointStructure::dynamicPointStructure(), and sphereParticles::sphereParticles().

+ Here is the caller graph for this function:

◆ indicesDevice()

auto indicesDevice ( ) const
inline

Definition at line 176 of file indexContainer.hpp.

◆ modifyOnHost()

void modifyOnHost ( )
inline

Definition at line 181 of file indexContainer.hpp.

◆ modifyOnDevice()

void modifyOnDevice ( )
inline

Definition at line 186 of file indexContainer.hpp.

Referenced by pFlow::getSortedIndex().

+ Here is the caller graph for this function:

◆ syncViews()

void syncViews ( )
inline

Definition at line 191 of file indexContainer.hpp.

Referenced by pFlow::getSortedIndex().

+ Here is the caller graph for this function:

◆ setSize()

size_t setSize ( size_t  ns)
inline

Definition at line 212 of file indexContainer.hpp.

Referenced by pFlow::getSortedIndex().

+ Here is the caller graph for this function:

Member Data Documentation

◆ min_

◆ max_

◆ size_

◆ views_


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