| Rapicorn - Experimental UI Toolkit - Source Code
    13.07.0
    | 
Go to the source code of this file.
| Classes | |
| struct | Rapicorn::RECURSIVE_LOCK | 
| class | Rapicorn::Mutex | 
| The Mutex synchronization primitive is a thin wrapper around std::mutex.  More... | |
| class | Rapicorn::Spinlock | 
| The Spinlock uses low-latency busy spinning to acquire locks.  More... | |
| class | Rapicorn::RWLock | 
| The RWLock allows multiple readers to simultaneously access a critical code section or one writer.  More... | |
| struct | Rapicorn::ThreadInfo | 
| Class keeping information per Thread.  More... | |
| struct | Rapicorn::AUTOMATIC_LOCK | 
| struct | Rapicorn::BALANCED_LOCK | 
| class | Rapicorn::ScopedLock< MUTEX > | 
| The ScopedLock is a scope based lock ownership wrapper.  More... | |
| class | Rapicorn::Cond | 
| The Cond synchronization primitive is a thin wrapper around pthread_cond_wait().  More... | |
| struct | Rapicorn::Atomic< char > | 
| Atomic char type.  More... | |
| struct | Rapicorn::Atomic< int8 > | 
| Atomic int8 type.  More... | |
| struct | Rapicorn::Atomic< uint8 > | 
| Atomic uint8 type.  More... | |
| struct | Rapicorn::Atomic< int32 > | 
| Atomic int32 type.  More... | |
| struct | Rapicorn::Atomic< uint32 > | 
| Atomic uint32 type.  More... | |
| struct | Rapicorn::Atomic< int64 > | 
| Atomic int64 type.  More... | |
| struct | Rapicorn::Atomic< uint64 > | 
| Atomic uint64 type.  More... | |
| class | Rapicorn::Atomic< V * > | 
| Atomic pointer type.  More... | |
| class | Rapicorn::Exclusive< Type > | 
| Exclusive<> is a type wrapper that provides non-racy atomic access to a copyable Type.  More... | |
| class | Rapicorn::AsyncBlockingQueue< Value > | 
| This is a thread-safe asyncronous queue which blocks in pop() until data is provided through push().  More... | |
| class | Rapicorn::AsyncNotifyingQueue< Value > | 
| This is a thread-safe asyncronous queue which returns 0 from pop() until data is provided through push().  More... | |
| class | Rapicorn::AsyncRingBuffer< T > | 
| This is a thread-safe lock-free ring buffer of fixed size.  More... | |
| Namespaces | |
| namespace | Rapicorn | 
| The Rapicorn namespace encompasses core utilities and toolkit functionality. | |
| namespace | Rapicorn::ThisThread | 
| The ThisThread namespace provides functions for the current thread of execution. | |
| Defines | |
| #define | do_once | 
| The do_once statement preceeds code blocks to ensure that a critical section is executed atomically and at most once. | |
| Functions | |
| String | Rapicorn::ThisThread::name () | 
| Get thread name. | |
| int | Rapicorn::ThisThread::online_cpus () | 
| This function may be called before Rapicorn is initialized. | |
| int | Rapicorn::ThisThread::affinity () | 
| This function may be called before Rapicorn is initialized. | |
| void | Rapicorn::ThisThread::affinity (int cpu) | 
| This function may be called before Rapicorn is initialized. | |
| int | Rapicorn::ThisThread::thread_pid () | 
| Get the current threads's thread ID (TID). For further details, see gettid(). | |
| int | Rapicorn::ThisThread::process_pid () | 
| Get the process ID (PID). For further details, see getpid(). | |
| void | Rapicorn::ThisThread::yield () | 
| Relinquish the processor to allow execution of other threads. For further details, see std::this_thread::yield(). | |
| std::thread::id | Rapicorn::ThisThread::get_id () | 
| Returns the pthread_t id for the current thread. For further details, see std::this_thread::get_id(). | |
| template<class Rep , class Period > | |
| void | Rapicorn::ThisThread::sleep_for (std::chrono::duration< Rep, Period > sleep_duration) | 
| Sleep for sleep_duration has been reached. For further details, see std::this_thread::sleep_for(). | |
| template<class Clock , class Duration > | |
| void | Rapicorn::ThisThread::sleep_until (const std::chrono::time_point< Clock, Duration > &sleep_time) | 
| Sleep until sleep_time has been reached. For further details, see std::this_thread::sleep_until(). | |
| Variables | |
| struct Rapicorn::RECURSIVE_LOCK | Rapicorn::RECURSIVE_LOCK | 
| Flag for recursive Mutex initialization. | |
| struct Rapicorn::AUTOMATIC_LOCK | Rapicorn::AUTOMATIC_LOCK | 
| Flag for automatic locking of a ScopedLock<Mutex>. | |
| struct Rapicorn::BALANCED_LOCK | Rapicorn::BALANCED_LOCK | 
| Flag for balancing unlock/lock in a ScopedLock<Mutex>. | |
| #define do_once | 
The do_once statement preceeds code blocks to ensure that a critical section is executed atomically and at most once.
Example:
static const char* startup_message () { // A global variable that needs one time initialization static char text_variable[1024]; // Initialize text_variable only once do_once { snprintf (text_variable, sizeof (text_variable), "Initialized at: %zu", size_t (timestamp_realtime())); } // Always returns the same text return text_variable; }
 1.7.6.1
 1.7.6.1