Skip to content

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

#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

#define ASE_MFENCE __sync_synchronize()

define ASE_SFENCE

#define ASE_SFENCE __sync_synchronize()


The documentation for this class was generated from the following file /__w/anklang/anklang/ase/platform.hh