Data Structures | |
union | Cas2Data |
class | Atomic |
class | Hash< const char *, Data, Alloc > |
class | Exception |
Base class of all LDK exceptions. More... | |
class | RuntimeError |
Base class for exceptions catering for conditions that can only be detected at runtime. More... | |
class | ArgumentError |
Indicates a problem with a function/methods arguments. More... | |
class | IOError |
Indicates a problem with file io. More... | |
class | EofError |
Indicates an attempt to read before a file starts or after it ends. More... | |
class | IndexError |
Indicates an index is out of range in a container class. More... | |
class | LengthError |
Indicates an attempt to use a container class beyond it's maximum (or minimum) size. More... | |
class | BadAllocError |
Indicated an out of memory condition. More... | |
class | NullPtrError |
Indicates a NULL pointer. More... | |
class | LogicError |
Indicates a problem which should be solvable at compile time. More... | |
class | NotImplimentedError |
Indicates a function or method has not been implimented yet. More... | |
class | ThreadError |
Indicated the thread API has been abused. More... | |
class | Hasher< int > |
class | Hasher< int64 > |
class | Hasher< const char * > |
class | Hasher< String > |
class | Hash |
A Hash specialised for c strings (const char *). More... | |
class | LocklessQueue |
A threadsafe lockless queue template. More... | |
class | MetaPool |
struct | CTAllocHelper |
struct | RTAllocHelper |
class | Mutex |
A recursive, single process mutex. More... | |
class | Lock |
Automatically locks and unlocks a Mutex using c++ scope rules. More... | |
class | Object |
class | PhysFSFile |
VFile class that makes use of Ryan C. Gordon's fantastic physfs library. More... | |
struct | v4sf |
class | V4SF |
class | V4SFVector |
class | SingletonCleanup |
class | ThreadLocalCleanup |
class | SingletonStorage |
A "normal" singleton storage class. More... | |
class | TLSSingletonStorage |
A "thread-local singleton" storage policy. More... | |
class | Singleton |
A policy based generic singleton. More... | |
class | SmartPointerBase |
Functionality common to all smart pointers. More... | |
class | IntrusiveSmartPointer |
A intrusive smart pointer for LDK::Objects allocated with LDK::create only. More... | |
class | SmartPointer |
A non-instrusive smart pointer to hold memory allocated with LDK::create only. More... | |
class | NewSmartPointer |
A non-instrusive smart pointer to hold objects allocated with new only. More... | |
class | RawSmartPointer |
class | StdFile |
VFile class that encapsulates a FILE*. More... | |
class | Allocator |
An (almost) standard compiliant, threadsafe STL allocator with an MSVC extension. More... | |
class | MallocAllocator |
An (almost) standard compiliant, threadsafe STL allocator with an MSVC extension. More... | |
class | Thread |
A thread of execution. More... | |
class | VFile |
Base class for all files. More... | |
class | VFileSystem |
The virtual filesystem. More... | |
class | XmlOutStream |
struct | XmlCursor |
class | XmlBase |
class | XmlNode |
class | XmlAttribute |
class | XmlAttributeSet |
class | XmlElement |
class | XmlComment |
class | XmlText |
class | XmlDeclaration |
class | XmlUnknown |
class | XmlDocument |
class | XmlHandle |
class | IdentityBase |
class | Identity |
class | Tag |
struct | SerializeParams |
class | XmlBinding |
class | IMemberHolder |
class | IMemberValuePolicy |
class | MemberFuncHolder |
class | MemberFuncHolderConstRef |
class | MemberPtrHolder |
class | MemberRefFuncHolder |
class | FromXmlElement |
class | MemberHolder |
class | FromXmlChildElement |
class | FromXmlAttribute |
class | MemberXmlBinding |
class | GenericXmlBinding |
class | GenericXmlBinding< const char * > |
class | StlContainerXmlBinding |
class | StlContainerPtrBinding |
class | Hasher< std::string > |
Namespaces | |
namespace | Details |
namespace | Meta |
Contains the common template meta programming routines. | |
namespace | V4SFV |
Typedefs | |
typedef Atomic< uint32 > | AtomicCount |
typedef Singleton< MetaPool > | MemorySingleton |
typedef void(*) | SingletonDtor () |
typedef std::basic_stringstream< char, std::char_traits< char >, Allocator< char > > | StringStream |
A std::stringstream that uses the LDK allocation system. | |
typedef std::basic_istringstream< char, std::char_traits< char >, Allocator< char > > | IStringStream |
A std::istringstream that uses the LDK allocation system. | |
typedef std::basic_ostringstream< char, std::char_traits< char >, Allocator< char > > | OStringStream |
A std::ostringstream that uses the LDK allocation system. | |
typedef std::basic_string< char, std::char_traits< char >, Allocator< char > > | String |
A std::string that uses the LDK allocation system. | |
typedef SmartPointer< String > | SmartString |
A SmartPointer specialised for Strings. | |
typedef SmartPointer< String > | SmartConstString |
A SmartPointer specialised for const Strings. | |
typedef size_t | ThreadID |
typedef int | int32 |
typedef unsigned int | uint32 |
typedef short | int16 |
typedef unsigned short | uint16 |
typedef char | int8 |
typedef unsigned char | uint8 |
typedef IntrusiveSmartPointer< VFile > | SmartFile |
typedef std::vector< String, Allocator< String > > | StringVec |
typedef SmartPointer< StringVec > | SmartStringVec |
Enumerations | |
enum | { LDKXML_SUCCESS, LDKXML_NO_ATTRIBUTE, LDKXML_WRONG_TYPE } |
enum | XmlEncoding { LDKXML_ENCODING_UNKNOWN, LDKXML_ENCODING_UTF8, LDKXML_ENCODING_LEGACY } |
enum | MemberSerializeFlags { MemberSerializeFlagsNone = 0, MemberOptional = 1 } |
Functions | |
template<typename AddrT, typename OldvalT, typename NewvalT> | |
bool | CAS (volatile AddrT *addr, volatile OldvalT oldval, volatile NewvalT newval) |
template<typename AddrT, typename V1T, typename V2T, typename N1T, typename N2T> | |
bool | CAS2 (volatile AddrT *addr, volatile V1T v1, volatile V2T v2, volatile N1T n1, volatile N2T n2) |
uint16 | swap16 (uint16 dat) |
Reverses the order of the bytes in a 16-bit integer. | |
uint32 | swap32 (uint32 dat) |
Reverses the order of the bytes in a 32-bit integer. | |
uint64 | swap64 (uint64 dat) |
Reverses the order of the bytes in a 64-bit integer. | |
uint16 | swapULE16 (uint16 x) |
Converts an unsigned 16-bit integer to little endian format if not already in LE format, otherwise does nothing. | |
int16 | swapSLE16 (int16 x) |
Converts a signed 16-bit integer to little endian format if not already in LE format, otherwise does nothing. | |
uint32 | swapULE32 (uint32 x) |
Converts an unsigned 32-bit integer to big endian format if not already in BE format, otherwise does nothing. | |
int32 | swapSLE32 (int32 x) |
Converts a signed 32-bit integer to little endian format if not already in LE format, otherwise does nothing. | |
uint64 | swapULE64 (uint64 x) |
Converts an unsigned 64-bit integer to little endian format if not already in LE format, otherwise does nothing. | |
int64 | swapSLE64 (int64 x) |
Converts a signed 64-bit integer to little endian format if not already in LE format, otherwise does nothing. | |
uint16 | swapUBE16 (uint16 x) |
Converts an unsigned 16-bit integer to big endian format if not already in BE format, otherwise does nothing. | |
int16 | swapSBE16 (int16 x) |
Converts a signed 16-bit integer to big endian format if not already in BE format, otherwise does nothing. | |
uint32 | swapUBE32 (uint32 x) |
int32 | swapSBE32 (int32 x) |
Converts a signed 32-bit integer to big endian format if not already in BE format, otherwise does nothing. | |
uint64 | swapUBE64 (uint64 x) |
Converts an unsigned 64-bit integer to big endian format if not already in BE format, otherwise does nothing. | |
int64 | swapSBE64 (int64 x) |
Converts a signed 64-bit integer to big endian format if not already in BE format, otherwise does nothing. | |
LDK_API void | initialise (const char *argv0) |
LDK_API void * | alignedAlloc (size_t bytes, size_t align=BYTE_ALIGNMENT) |
LDK_API void | alignedFree (void *mem) |
void * | bigAlloc (size_t size) |
template<size_t Size> | |
void * | alloc (const char *file, int line) |
void * | alloc (const char *file, int line, size_t size) |
void | dealloc (void *mem) |
Free memory allocated with this system only. | |
void * | realloc (const char *file, int line, void *mem, size_t newSize) |
template<class T> | |
T * | create (const char *file, int line) |
template<class T, typename C1> | |
T * | create (const char *file, int line, C1 c1) |
template<class T, typename C1, typename C2> | |
T * | create (const char *file, int line, C1 c1, C2 c2) |
template<class T, typename C1, typename C2, typename C3> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3) |
template<class T, typename C1, typename C2, typename C3, typename C4> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4) |
template<class T, typename C1, typename C2, typename C3, typename C4, typename C5> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4, C5 c5) |
template<class T, typename C1, typename C2, typename C3, typename C4, typename C5, typename C6> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4, C5 c5, C6 c6) |
template<class T, typename C1, typename C2, typename C3, typename C4, typename C5, typename C6, typename C7> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4, C5 c5, C6 c6, C7 c7) |
template<class T, typename C1, typename C2, typename C3, typename C4, typename C5, typename C6, typename C7, typename C8> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4, C5 c5, C6 c6, C7 c7, C8 c8) |
template<class T, typename C1, typename C2, typename C3, typename C4, typename C5, typename C6, typename C7, typename C8, typename C9> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4, C5 c5, C6 c6, C7 c7, C8 c8, C9 c9) |
template<class T, typename C1, typename C2, typename C3, typename C4, typename C5, typename C6, typename C7, typename C8, typename C9, typename C10> | |
T * | create (const char *file, int line, C1 c1, C2 c2, C3 c3, C4 c4, C5 c5, C6 c6, C7 c7, C8 c8, C9 c9, C10 c10) |
template<class T> | |
void | destroy (const T *o) |
Calls an object's destructor and frees the memory. | |
template<typename T1, typename T2> | |
bool | operator== (const Allocator< T1 > &, const Allocator< T2 > &) |
template<typename T1, typename T2> | |
bool | operator!= (const Allocator< T1 > &, const Allocator< T2 > &) |
template<typename T1, typename T2> | |
bool | operator== (const MallocAllocator< T1 > &, const MallocAllocator< T2 > &) |
template<typename T1, typename T2> | |
bool | operator!= (const MallocAllocator< T1 > &, const MallocAllocator< T2 > &) |
LDK_API ThreadID | currentThreadID () |
Get the identifier of the current thread. | |
LDK_API void | yield () |
Hands the remainder of the timeslice to another thread. | |
LDK_API void | sleep (uint32 time) |
Send the current thread to sleep for a while. | |
template<class T> | |
bool | BindToXml (XmlElement *elemOut, T const &dataIn) |
template<class T> | |
bool | BindFromXml (XmlElement const &elemIn, T *dataOut) |
template<class T, class MT> | |
IMemberHolder< T > * | Member (MT T::*mp) |
template<class T, class MT> | |
IMemberHolder< T > * | Member (MT &(T::*mp)()) |
template<class T, class MT> | |
IMemberHolder< T > * | Member (MT(T::*getter)(), void(T::*setter)(MT)) |
template<class T, class MT> | |
IMemberHolder< T > * | Member (MT const &(T::*getter)(), void(T::*setter)(MT const &)) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberAttribute (MT T::*mp) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberAttribute (MT(T::*getter)(), void(T::*setter)(MT)) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberAttribute (MT const &(T::*getter)(), void(T::*setter)(MT const &)) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberPeer (MT T::*mp) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberPeer (MT(T::*getter)(), void(T::*setter)(MT)) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberPeer (MT const &(T::*getter)(), void(T::*setter)(MT const &)) |
template<class T, class MT> | |
IMemberHolder< T > * | MemberPeer (MT &(T::*mp)()) |
template<class T> | |
XmlBinding< T > * | GetXmlBinding (T const &, IdentityBase) |
template<class T, class VecT> | |
XmlBinding< VecT > * | GetXmlBinding (std::vector< T > const &, Identity< VecT >) |
template<class T, class VecT> | |
XmlBinding< VecT > * | GetXmlBinding (std::list< T > const &, Identity< VecT >) |
Variables | |
const LDK_API size_t | PrimeConsts [] |
LDK_API | MetaPool |
LDK_API | XmlDocument |
LDK_API | XmlElement |
LDK_API | XmlComment |
LDK_API | XmlUnknown |
LDK_API | XmlAttribute |
LDK_API | XmlText |
LDK_API | XmlDeclaration |
LDK_API | XmlParsingData |
const int | LDKXML_MAJOR_VERSION = 2 |
const int | LDKXML_MINOR_VERSION = 3 |
const int | LDKXML_PATCH_VERSION = 4 |
const LDK_API XmlEncoding | LDKXML_DEFAULT_ENCODING |
The type used to identify a thread.
Definition at line 50 of file Threading.h.
LDK::currentThreadID | ( | ) |
Referenced by LDK::Details::Heap::allocChunk(), and bigAlloc().
void LDK::initialise | ( | const char * | argv0 | ) |
Initialise the LDK library. If you experience instant crashes not calling this is a likely cause.
argv0 | The argv[0] from main. Must not be NULL on unix systems. |
Referenced by LDK::Singleton< LDK::Details::PerThreadVFS >::initialise(), LDK::TLSSingletonStorage< T >::initialise(), and LDK::SingletonStorage< T >::initialise().
LDK::sleep | ( | uint32 | time | ) |
time | The number of milliseconds to sleep for. |
LDK::yield | ( | ) |
May do nothing if the current thread is the highest priority thread.