Block-Structured AMR Software Framework
amrex::BlockMutex Struct Reference

#include <AMReX_BlockMutex.H>

Classes

union  state_t
 

Public Member Functions

 BlockMutex (int N) noexcept
 
 ~BlockMutex ()
 
void operator= (BlockMutex const &)=delete
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void lock (int i) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void unlock (int i) noexcept
 

Static Public Member Functions

static constexpr AMREX_GPU_HOST_DEVICE state_t FreeState () noexcept
 
static void init_states (state_t *state, int N) noexcept
 

Private Attributes

int m_nstates
 
state_tm_state
 

Constructor & Destructor Documentation

◆ BlockMutex()

amrex::BlockMutex::BlockMutex ( int  N)
explicitnoexcept

◆ ~BlockMutex()

amrex::BlockMutex::~BlockMutex ( )

Member Function Documentation

◆ FreeState()

static constexpr AMREX_GPU_HOST_DEVICE state_t amrex::BlockMutex::FreeState ( )
inlinestaticconstexprnoexcept

◆ init_states()

void amrex::BlockMutex::init_states ( state_t state,
int  N 
)
staticnoexcept

◆ lock()

AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::BlockMutex::lock ( int  i)
inlinenoexcept

◆ operator=()

void amrex::BlockMutex::operator= ( BlockMutex const &  )
delete

◆ unlock()

AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::BlockMutex::unlock ( int  i)
inlinenoexcept

Member Data Documentation

◆ m_nstates

int amrex::BlockMutex::m_nstates
private

◆ m_state

state_t* amrex::BlockMutex::m_state
private

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