File platform.hh
FileList > ase > platform.hh
#include <ase/defs.hh>
#include <condition_variable>
#include <thread>
#include <list>
Namespaces
Type | Name |
---|---|
namespace | Ase The Anklang C++ API namespace. |
namespace | AnsiColors The AnsiColors namespace contains utility functions for colored terminal output. |
Classes
Type | Name |
---|---|
class | AsyncBlockingQueue <class Value> This is a thread-safe asyncronous queue which blocks in pop() until data is provided through push(). |
class | ScopedSemaphore |
class | Stopwatch |
class | TaskRegistry The task registry keeps track of runtime threads for profiling and statistical purposes. |
struct | TaskStatus Acquire information about a task (process or thread) at runtime. |
Macros
Type | Name |
---|---|
define | ASE_CFENCE \_\_asm\_\_ \_\_volatile\_\_ ("" ::: "memory") Compiler Fence, prevent compiler from reordering non-volatile loads/stores, see also std::atomic_signal_fence(). |
define | ASE_LFENCE \_\_sync\_synchronize() |
define | ASE_MFENCE \_\_sync\_synchronize() Memory Fence - prevent processor (and compiler) from reordering loads/stores (read/write barrier), see also std::atomic_thread_fence(). |
define | ASE_SFENCE \_\_sync\_synchronize() Store Fence - prevent processor (and compiler) from reordering stores (write barrier). |
Macro Definition Documentation
define ASE_CFENCE
Compiler Fence, prevent compiler from reordering non-volatile loads/stores, see also std::atomic_signal_fence().
#define ASE_CFENCE `__asm__ __volatile__ ("" ::: "memory")`
define ASE_LFENCE
#define ASE_LFENCE `__sync_synchronize()`
Load Fence - prevent processor (and compiler) from reordering loads (read barrier).
define ASE_MFENCE
Memory Fence - prevent processor (and compiler) from reordering loads/stores (read/write barrier), see also std::atomic_thread_fence().
#define ASE_MFENCE `__sync_synchronize()`
define ASE_SFENCE
Store Fence - prevent processor (and compiler) from reordering stores (write barrier).
#define ASE_SFENCE `__sync_synchronize()`
The documentation for this class was generated from the following file /__w/anklang/anklang/ase/platform.hh