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

Owning logical marker-property matrix. More...

#include "part.hpp"

Public Member Functions

void allocate (const std::string &label, int npmx, int nprops)
 Replace storage with npmx by nprops flags.
 
bool & operator() (int ip, int prop)
 Access a mutable flag by zero-based particle/property index.
 
const bool & operator() (int ip, int prop) const
 Access a flag by zero-based particle/property index.
 
 PointerMarkersLogic ()=default
 Construct an empty wrapper.
 
 PointerMarkersLogic (const std::string &label, int npmx, int nprops)
 Allocate a named logical marker matrix.
 

Public Attributes

Kokkos::View< bool ** > markers
 Logical flags [capacity][property].
 

Detailed Description

Owning logical marker-property matrix.

Constructor & Destructor Documentation

◆ PointerMarkersLogic() [1/2]

orb5x::PointerMarkersLogic::PointerMarkersLogic ( )
default

Construct an empty wrapper.

◆ PointerMarkersLogic() [2/2]

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

Allocate a named logical 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::PointerMarkersLogic::allocate ( const std::string &  label,
int  npmx,
int  nprops 
)
inline

Replace storage with npmx by nprops flags.

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

References markers.

◆ operator()() [1/2]

bool & orb5x::PointerMarkersLogic::operator() ( int  ip,
int  prop 
)
inline

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

Parameters
[in]ipLocal particle index.
[in]propProperty-column index.
Returns
Reference to the selected logical flag.

References markers.

◆ operator()() [2/2]

const bool & orb5x::PointerMarkersLogic::operator() ( int  ip,
int  prop 
) const
inline

Access a flag by zero-based particle/property index.

Parameters
[in]ipLocal particle index.
[in]propProperty-column index.
Returns
Const reference to the selected logical flag.

References markers.

Member Data Documentation

◆ markers

Kokkos::View<bool**> orb5x::PointerMarkersLogic::markers

Logical flags [capacity][property].

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


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