ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
orb5x::PointerMarkersI8 Struct Reference

Owning signed 64-bit marker-property matrix, primarily particle IDs. More...

#include "part.hpp"

Public Member Functions

void allocate (const std::string &label, int npmx, int nprops)
 Replace storage with npmx by nprops integers.
 
Int8 & operator() (int ip, int prop)
 Access a mutable integer by zero-based particle/property index.
 
const Int8 & operator() (int ip, int prop) const
 Access an integer by zero-based particle/property index.
 
 PointerMarkersI8 ()=default
 Construct an empty wrapper.
 
 PointerMarkersI8 (const std::string &label, int npmx, int nprops)
 Allocate a named 64-bit integer marker matrix.
 

Public Attributes

Kokkos::View< Int8 ** > markers
 Integer values [capacity][property].
 

Detailed Description

Owning signed 64-bit marker-property matrix, primarily particle IDs.

Constructor & Destructor Documentation

◆ PointerMarkersI8() [1/2]

orb5x::PointerMarkersI8::PointerMarkersI8 ( )
default

Construct an empty wrapper.

◆ PointerMarkersI8() [2/2]

orb5x::PointerMarkersI8::PointerMarkersI8 ( const std::string &  label,
int  npmx,
int  nprops 
)
inline

Allocate a named 64-bit integer marker matrix.

Parameters
[in]labelKokkos allocation label used by profiling tools.
[in]npmxParticle capacity (first extent).
[in]npropsProperty-column count (second extent).

Member Function Documentation

◆ allocate()

void orb5x::PointerMarkersI8::allocate ( const std::string &  label,
int  npmx,
int  nprops 
)
inline

Replace storage with npmx by nprops integers.

Parameters
[in]labelKokkos allocation label used by profiling tools.
[in]npmxParticle capacity.
[in]npropsProperty-column count.

References markers.

◆ operator()() [1/2]

Int8 & orb5x::PointerMarkersI8::operator() ( int  ip,
int  prop 
)
inline

Access a mutable integer by zero-based particle/property index.

Parameters
[in]ipLocal particle index.
[in]propProperty-column index.
Returns
Reference to the selected 64-bit integer.

References markers.

◆ operator()() [2/2]

const Int8 & orb5x::PointerMarkersI8::operator() ( int  ip,
int  prop 
) const
inline

Access an integer by zero-based particle/property index.

Parameters
[in]ipLocal particle index.
[in]propProperty-column index.
Returns
Const reference to the selected 64-bit integer.

References markers.

Member Data Documentation

◆ markers

Kokkos::View<Int8**> orb5x::PointerMarkersI8::markers

Integer values [capacity][property].

Referenced by allocate(), operator()(), and operator()().


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