ManaPlus
Data Structures | Macros
fast_mutex.h File Reference

(986a3bf)

#include "debug/nvwa/_nvwa.h"
#include "debug/nvwa/c++11.h"

Go to the source code of this file.

Data Structures

class  fast_mutex
 
class  fast_mutex_autolock
 

Macros

#define NVWA_USE_CXX11_MUTEX   0
 
#define _NOTHREADS
 
#define NVWA_NOTHREADS
 
#define _FAST_MUTEX_CHECK_INITIALIZATION   1
 
#define _FAST_MUTEX_ASSERT(_Expr, _Msg)    ((void)0)
 
#define __VOLATILE
 

Detailed Description

A fast mutex implementation for POSIX, Win32, and modern C++.

Date
2015-05-19

Definition in file fast_mutex.h.

Macro Definition Documentation

◆ __VOLATILE

#define __VOLATILE

Macro alias to ‘volatile’ semantics. Here it is not truly volatile since it is in a single-threaded environment.

Definition at line 365 of file fast_mutex.h.

◆ _FAST_MUTEX_ASSERT

#define _FAST_MUTEX_ASSERT (   _Expr,
  _Msg 
)     ((void)0)

Macro for fast_mutex assertions. Fake version (for release mode).

Definition at line 142 of file fast_mutex.h.

◆ _FAST_MUTEX_CHECK_INITIALIZATION

#define _FAST_MUTEX_CHECK_INITIALIZATION   1

Macro to control whether to check for initialization status for each lock/unlock operation. Defining it to a non-zero value will enable the check, so that the construction/destruction of a static object using a static fast_mutex not yet constructed or already destroyed will work (with lock/unlock operations ignored). Defining it to zero will disable to check.

Definition at line 128 of file fast_mutex.h.

◆ _NOTHREADS

#define _NOTHREADS

Definition at line 86 of file fast_mutex.h.

◆ NVWA_NOTHREADS

#define NVWA_NOTHREADS

Definition at line 115 of file fast_mutex.h.

◆ NVWA_USE_CXX11_MUTEX

#define NVWA_USE_CXX11_MUTEX   0

Definition at line 80 of file fast_mutex.h.