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