This is the documentation for Enlighten.
module Concurrency
Classes
Name | Description |
---|---|
Geo::GeoCriticalSection | Basic wrapper around a critical section object. |
Geo::GeoEvent | Event that can be manually triggered. |
Geo::GeoScopedCSection | A simple utility for aquiring a lock for the duration of a function. |
Geo::IGeoEvent | Cross platform Event class. |
Typedefs
Name | Description |
---|---|
void * GeoThreadHandle | When threading is unavailable, just use a void* as the unsupported type. |
u32 GeoThreadResult | Return type of a thread function. |
GeoThreadResult(GEO_THREAD_CALLING_CONV * GeoThreadStartRoutine)(void *lpThreadParameter) | Thread start function prototype. |
Variables
Name | Description |
---|---|
const GeoThreadHandle GEO_INVALID_THREAD_HANDLE | A thread handle value that is never valid. |
Functions
Name | Description |
---|---|
GeoCreateThread(GeoThreadStartRoutine, void *) | Platform specific thread creation function. |
GeoGetCurrentThreadHandle() | Platform specific thread accessor function. |
GeoInterlockedAdd32(GeoAtomic< u32 > &, u32) | Atomically add amount to value pointed to by addend, returns the new value. |
GeoInterlockedAdd64(GeoAtomic< s64 > &, s64) | Atomically add amount to value pointed to by addend, returns the new value. |
GeoInterlockedDec32(GeoAtomic< u32 > &) | Atomically decrement value pointed to by addend, returns the new value. |
GeoInterlockedExchange32(GeoAtomic< u32 > &, u32) | Atomically sets a value, and returns its previous value. |
GeoInterlockedExchange64(GeoAtomic< u64 > &, u64) | Atomically sets a value, and returns its previous value. |
GeoInterlockedInc32(GeoAtomic< u32 > &) | Atomically increment value pointed to by addend, returns the new value. |
GeoInterlockedInc64(GeoAtomic< s64 > &) | Atomically increment value pointed to by addend, returns the new value. |
GeoInterlockedSub32(GeoAtomic< u32 > &, u32) | Atomically subtract amount to value pointed to by addend, returns new value. |
GeoReleaseThread(GeoThreadHandle) | Platform specific thread release function. |
GeoResumeThread(GeoThreadHandle) | Platform specific thread resume function. |
GeoSetThreadAffinity(GeoThreadHandle, Geo::u64) | Platform specific set thread affinity function. |
GeoSleepThread(u32) | Platform specific thread sleep function. |
GeoThreadEqual(GeoThreadHandle, GeoThreadHandle) | Platform specific thread comparison function. |
GeoWaitThread(GeoThreadHandle) | Platform specific thread wait function. |
GeoYieldThread() | Platform specific thread yield function. |
Defines
Name | Description |
---|---|
GEO_ATOMIC_IMPLEMENTED 0 | Set to 1 on platforms where Atomic operations are available. |
GEO_THREAD_CALLING_CONV | Calling convention of GeoThread function. |
GEO_THREADING_IMPLEMENTED 0 | Set to 0 on platforms where Posix style threading methods are not available. |
GeoThreadHandle Geo::GeoCreateThread
public: GeoThreadHandle GeoCreateThread
(
GeoThreadStartRoutine function,
void * data
)
Platform specific thread creation function.
GeoThreadHandle Geo::GeoGetCurrentThreadHandle
public: GeoThreadHandle GeoGetCurrentThreadHandle()
Platform specific thread accessor function.
s32 Geo::GeoInterlockedAdd32
public: s32 GeoInterlockedAdd32
(
GeoAtomic< u32 > & addend,
u32 amount
)
Atomically add amount to value pointed to by addend, returns the new value.
s64 Geo::GeoInterlockedAdd64
public: s64 GeoInterlockedAdd64
(
GeoAtomic< s64 > & addend,
s64 amount
)
Atomically add amount to value pointed to by addend, returns the new value.
s32 Geo::GeoInterlockedDec32
public: s32 GeoInterlockedDec32
(
GeoAtomic< u32 > & addend
)
Atomically decrement value pointed to by addend, returns the new value.
u32 Geo::GeoInterlockedExchange32
public: u32 GeoInterlockedExchange32
(
GeoAtomic< u32 > & target,
u32 value
)
Atomically sets a value, and returns its previous value.
u64 Geo::GeoInterlockedExchange64
public: u64 GeoInterlockedExchange64
(
GeoAtomic< u64 > & target,
u64 value
)
Atomically sets a value, and returns its previous value.
s32 Geo::GeoInterlockedInc32
public: s32 GeoInterlockedInc32
(
GeoAtomic< u32 > & addend
)
Atomically increment value pointed to by addend, returns the new value.
s64 Geo::GeoInterlockedInc64
public: s64 GeoInterlockedInc64
(
GeoAtomic< s64 > & addend
)
Atomically increment value pointed to by addend, returns the new value.
s32 Geo::GeoInterlockedSub32
public: s32 GeoInterlockedSub32
(
GeoAtomic< u32 > & addend,
u32 amount
)
Atomically subtract amount to value pointed to by addend, returns new value.
void Geo::GeoReleaseThread
public: void GeoReleaseThread
(
GeoThreadHandle thread
)
Platform specific thread release function.
void Geo::GeoResumeThread
public: void GeoResumeThread
(
GeoThreadHandle thread
)
Platform specific thread resume function.
void Geo::GeoSetThreadAffinity
public: void GeoSetThreadAffinity
(
GeoThreadHandle thread,
Geo::u64 affinity
)
Platform specific set thread affinity function.
void Geo::GeoSleepThread
public: void GeoSleepThread
(
u32 ms
)
Platform specific thread sleep function.
bool Geo::GeoThreadEqual
public: bool GeoThreadEqual
(
GeoThreadHandle a,
GeoThreadHandle b
)
Platform specific thread comparison function.
void Geo::GeoWaitThread
public: void GeoWaitThread
(
GeoThreadHandle thread
)
Platform specific thread wait function.
void Geo::GeoYieldThread
public: void GeoYieldThread()
Platform specific thread yield function.