LLVM OpenMP* Runtime Library
Public Member Functions | Private Attributes | List of all members
kmp_flag< P > Class Template Reference

#include <kmp_wait_release.h>

Public Member Functions

std::atomic< P > * get ()
 
void * get_void_p ()
 
void set (std::atomic< P > *new_loc)
 
flag_type get_type ()
 
load ()
 
void store (P val)
 

Private Attributes

std::atomic< P > * loc
 
flag_type t
 

Detailed Description

template<typename P>
class kmp_flag< P >

Base class for wait/release atomic flag

Definition at line 66 of file kmp_wait_release.h.

Member Function Documentation

◆ get()

template<typename P>
std::atomic<P>* kmp_flag< P >::get ( )
inline
Returns
the pointer to the actual flag

Definition at line 77 of file kmp_wait_release.h.

◆ get_type()

template<typename P>
flag_type kmp_flag< P >::get_type ( )
inline
Returns
the flag_type

Definition at line 89 of file kmp_wait_release.h.

◆ get_void_p()

template<typename P>
void* kmp_flag< P >::get_void_p ( )
inline
Returns
void* pointer to the actual flag

Definition at line 81 of file kmp_wait_release.h.

◆ load()

template<typename P>
P kmp_flag< P >::load ( )
inline
Returns
flag value

Definition at line 93 of file kmp_wait_release.h.

◆ set()

template<typename P>
void kmp_flag< P >::set ( std::atomic< P > *  new_loc)
inline
Parameters
new_locin set loc to point at new_loc

Definition at line 85 of file kmp_wait_release.h.

◆ store()

template<typename P>
void kmp_flag< P >::store ( val)
inline
Parameters
valthe new flag value to be stored

Definition at line 97 of file kmp_wait_release.h.

Member Data Documentation

◆ loc

template<typename P>
std::atomic<P>* kmp_flag< P >::loc
private

Pointer to the flag storage that is modified by another thread

Definition at line 68 of file kmp_wait_release.h.

◆ t

template<typename P>
flag_type kmp_flag< P >::t
private

"Type" of the flag in loc

Definition at line 70 of file kmp_wait_release.h.


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