Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Classes

NameDescription
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

NameDescription
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

NameDescription
const GeoThreadHandle GEO_INVALID_THREAD_HANDLE

A thread handle value that is never valid.

Functions

NameDescription
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

NameDescription
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.


Anchor
ab5e8fb8faa227489fd0be7cdf1319d38
ab5e8fb8faa227489fd0be7cdf1319d38

GeoThreadHandle Geo::GeoCreateThread

...

public: GeoThreadHandle GeoCreateThread
(
    GeoThreadStartRoutine function,
    void * data
)

...

Platform specific thread creation function.


Anchor
a0f767583acf12fc5dfc253ebaa59971c
a0f767583acf12fc5dfc253ebaa59971c

GeoThreadHandle Geo::GeoGetCurrentThreadHandle

...

public: GeoThreadHandle GeoGetCurrentThreadHandle()

...

Platform specific thread accessor function.


Anchor
a70f9d51fc87d758369e60861184d5835
a70f9d51fc87d758369e60861184d5835

s32 Geo::GeoInterlockedAdd32

...

public: s32 GeoInterlockedAdd32
(
    GeoAtomic< u32 > & addend,
    u32 amount
)

...

Atomically add amount to value pointed to by addend, returns the new value.


Anchor
a05378c5e452bdb083d88a62b87160ea5
a05378c5e452bdb083d88a62b87160ea5

s64 Geo::GeoInterlockedAdd64

...

public: s64 GeoInterlockedAdd64
(
    GeoAtomic< s64 > & addend,
    s64 amount
)

...

Atomically add amount to value pointed to by addend, returns the new value.


Anchor
a10c8e0f009053776a1342d3794ee3b53
a10c8e0f009053776a1342d3794ee3b53

s32 Geo::GeoInterlockedDec32

...

public: s32 GeoInterlockedDec32
(
    GeoAtomic< u32 > & addend
)

...

Atomically decrement value pointed to by addend, returns the new value.


Anchor
af3f713538b0acb067f9a270de04ad11e
af3f713538b0acb067f9a270de04ad11e

u32 Geo::GeoInterlockedExchange32

...

public: u32 GeoInterlockedExchange32
(
    GeoAtomic< u32 > & target,
    u32 value
)

...

Atomically sets a value, and returns its previous value.


Anchor
a7950e167a5e301d9a04770c5ea22b3d7
a7950e167a5e301d9a04770c5ea22b3d7

u64 Geo::GeoInterlockedExchange64

...

public: u64 GeoInterlockedExchange64
(
    GeoAtomic< u64 > & target,
    u64 value
)

...

Atomically sets a value, and returns its previous value.


Anchor
af2adf9370974ca4ca2f44a756c69a211
af2adf9370974ca4ca2f44a756c69a211

s32 Geo::GeoInterlockedInc32

...

public: s32 GeoInterlockedInc32
(
    GeoAtomic< u32 > & addend
)

...

Atomically increment value pointed to by addend, returns the new value.


Anchor
a025796c0c79aecaf6f31ffb8dac24c12
a025796c0c79aecaf6f31ffb8dac24c12

s64 Geo::GeoInterlockedInc64

...

public: s64 GeoInterlockedInc64
(
    GeoAtomic< s64 > & addend
)

...

Atomically increment value pointed to by addend, returns the new value.


Anchor
acff6fab7990dafdb0e19de1f4a312337
acff6fab7990dafdb0e19de1f4a312337

s32 Geo::GeoInterlockedSub32

...

public: s32 GeoInterlockedSub32
(
    GeoAtomic< u32 > & addend,
    u32 amount
)

...

Atomically subtract amount to value pointed to by addend, returns new value.


Anchor
a9b618f2ad56f8170122488c9db1cc466
a9b618f2ad56f8170122488c9db1cc466

void Geo::GeoReleaseThread

...

public: void GeoReleaseThread
(
    GeoThreadHandle thread
)

...

Platform specific thread release function.


Anchor
af016a1075b18c213bf4e5bb48620f351
af016a1075b18c213bf4e5bb48620f351

void Geo::GeoResumeThread

...

public: void GeoResumeThread
(
    GeoThreadHandle thread
)

...

Platform specific thread resume function.


Anchor
aa5632f9d1c74934f6787907508153326
aa5632f9d1c74934f6787907508153326

void Geo::GeoSetThreadAffinity

...

public: void GeoSetThreadAffinity
(
    GeoThreadHandle thread,
    Geo::u64 affinity
)

...

Platform specific set thread affinity function.


Anchor
aba1c58b359304f1e501a9ce0a9f15872
aba1c58b359304f1e501a9ce0a9f15872

void Geo::GeoSleepThread

...

public: void GeoSleepThread
(
    u32 ms
)

...

Platform specific thread sleep function.


Anchor
af6f0a12b5c791127a89b5b3af61fb1af
af6f0a12b5c791127a89b5b3af61fb1af

bool Geo::GeoThreadEqual

...

public: bool GeoThreadEqual
(
    GeoThreadHandle a,
    GeoThreadHandle b
)

...

Platform specific thread comparison function.


Anchor
a7d524623f4e2ad843a691f242d1d4a05
a7d524623f4e2ad843a691f242d1d4a05

void Geo::GeoWaitThread

...

public: void GeoWaitThread
(
    GeoThreadHandle thread
)

...

Platform specific thread wait function.


Anchor
a2c2786f913675b0ffb134105f0502d0f
a2c2786f913675b0ffb134105f0502d0f

void Geo::GeoYieldThread

...

public: void GeoYieldThread()

...

Platform specific thread yield function.