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
 

Public Member Functions

 indexContainer ()
 
 indexContainer (IndexType begin, IndexType end)
 
 indexContainer (IndexType *data, int32 numElems)
 
 indexContainer (const indexContainer &)=default
 
indexContaineroperator= (const 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
 
auto indicesHost () const
 
auto indicesDevice () const
 

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.

Constructor & Destructor Documentation

◆ indexContainer() [1/4]

indexContainer ( )
inline

Definition at line 73 of file indexContainer.hpp.

◆ indexContainer() [2/4]

indexContainer ( IndexType  begin,
IndexType  end 
)
inline

Definition at line 76 of file indexContainer.hpp.

◆ indexContainer() [3/4]

indexContainer ( IndexType *  data,
int32  numElems 
)
inline

Definition at line 88 of file indexContainer.hpp.

◆ indexContainer() [4/4]

indexContainer ( const indexContainer< IndexType > &  )
default

◆ ~indexContainer()

~indexContainer ( )
default

Member Function Documentation

◆ operator=()

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

◆ size()

◆ empty()

INLINE_FUNCTION_HD size_t empty ( ) const
inline

Definition at line 113 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 119 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 125 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 132 of file indexContainer.hpp.

◆ hostView()

◆ deviceView()

const DeviceViewType& deviceView ( ) const
inline

Definition at line 148 of file indexContainer.hpp.

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

Here is the caller graph for this function:

◆ indicesHost()

auto indicesHost ( ) const
inline

Definition at line 153 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 158 of file indexContainer.hpp.

Member Data Documentation

◆ min_

int32 min_ = 0
protected

◆ max_

int32 max_ = 0
protected

◆ size_

◆ views_


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