System Namespace Reference

Namespace of core objects and routines. More...


Classes

class  Mutex
 Linux implementation. More...
class  Archive
 A byte order neutral archive of data. More...
class  Struct
 Classifcation information for structures. More...
class  Class
 Classifcation information for objects. More...
class  Container
 The base of all containers in the engine. More...
class  Array
 Dynamic array template class. More...
class  CriticalResource
 Resource protected with a mutex. More...
class  Database
 An abstract base class for an engine storage subsystem. More...
class  Default
 A default value for a class property. More...
class  Driver
 Base of all driver classes. More...
class  FileManager
 Abstract base class for an engine file manager. More...
class  ArchiveVoid
 An archive that does not implement any functionality. More...
class  OutputVoid
 A null output device, that simply does nothing with any sent messages. More...
class  FileManagerVoid
 A null file manager that does not do anything and always returns failure. More...
class  DatabaseVoid
 A null database subsystem, that does not store or restore object configuration. More...
class  AnsiAllocator
 An allocator implementation using the standard ANSI allocation routines. More...
class  Buffer
 A byte order neutral buffer. More...
class  StaticBuffer
 A static byte order neutral buffer. More...
class  Vector
 A vector class with three components (3 dimensions). More...
class  Allocator
 Memory allocator interface class. More...
class  Name
 Stores the names used by the engine in a hash table for fast access. More...
class  Object
 The base of all objects in the engine. More...
class  Output
 Abstract interface for logging and outputting text. More...
class  Package
 A container for classes and objects. More...
class  Property
 Base class for all properties. More...
class  IntegerProperty
 Describes an integer property. More...
class  BooleanProperty
 Describes a boolean property. More...
class  FloatProperty
 Describes a float property. More...
class  StructProperty
 Describes a struct property. More...
class  ObjectProperty
 Describes an object property. More...
class  ClassProperty
 Describes a class property. More...
class  NameProperty
 Describes a name property. More...
class  ArrayProperty
 Describes an array property. More...
class  CharacterArray
 A character array based on array, which string manipulation functions. More...

Typedefs

typedef
std::basic_string
< TCHAR,
std::char_traits
< TCHAR >,
StlAllocator< TCHAR > > 
String
 An STL string using the system allocator.
typedef
std::basic_string
< CHAR,
std::char_traits
< CHAR >,
StlAllocator< CHAR > > 
Chunk
 An STL string using the system allocator.
typedef Array< Object * > ObjectVector
 An array of objects contained in an dynamic container.
typedef Array
< Property * > 
PropertyVector
 An array of properties contained in an dynamic container.
typedef Array< StringStringVector
 An array of strings contained in an dynamic container.
typedef Array< ChunkChunkVector
 An array of chunks contained in an dynamic container.

Enumerations

enum  E_ObjectFlags {
  OBJECT_Public = 0x00000001, OBJECT_Managed = 0x00000002, OBJECT_Unreachable = 0x00000004, OBJECT_Transient = 0x00000008,
  OBJECT_Destroyed = 0x00000010, OBJECT_Keep = 0x00000020
}
 Flags describing an Object. More...
enum  E_ClassFlags { CLASS_Abstract = 0x00000001, CLASS_Transient = 0x00000002, CLASS_Config = 0x00000004, CLASS_ObjectConfig = 0x00000008 }
 Flags describing a Class. More...
enum  E_PropertyFlags { PROPERTY_Transient = 0x00000001, PROPERTY_Config = 0x00000002 }
 Flags describing a Property. More...

Functions

template<class InputIterator, class Type>
InputIterator Find (InputIterator First, InputIterator Last, CONST Type &Value)
 Traverse through a container and find an item.
template<class InputIterator, class OutputIterator, class Func>
OutputIterator Transform (InputIterator First, InputIterator Last, OutputIterator Dest, Func Function)
 Transform a set of elements from one set using the specified function and store them at the destination.
SYSTEM_API DWORD JenkinsHash (register CONST BYTE *Key, size_t Length, DWORD InitialValue)
 Robert J. Jenkins Jr's hashing routine.
SYSTEM_API DWORD CyclicRedundancyCheck (register CONST BYTE *Key, size_t Length, DWORD InitialValue)
 32Bit Cylclic redundancy check.
SYSTEM_API VOID Startup (Output *Logger, Output *Warning, Output *Error, Allocator *Allocator, FileManager *FileManager, Database *Database)
SYSTEM_API VOID Shutdown ()
SYSTEM_API BOOL GetInitialized ()
SYSTEM_API AllocatorGetStaticAllocator ()
SYSTEM_API VOID Tokenize (CONST TCHAR *Text, StringVector &Tokens, CONST TCHAR *Delimiters)
SYSTEM_API String Format (CONST TCHAR *Format,...)
SYSTEM_API String FormatVA (CONST TCHAR *Format, PVOID Arguments)

Variables

SYSTEM_API EXTERNAL BOOL G_Initialized
SYSTEM_API EXTERNAL
Output
G_Logger
SYSTEM_API EXTERNAL
Output
G_Warning
SYSTEM_API EXTERNAL
Output
G_Error
SYSTEM_API EXTERNAL
Allocator
G_Allocator
SYSTEM_API EXTERNAL
FileManager
G_FileManager
SYSTEM_API EXTERNAL
Database
G_Database
SYSTEM_API EXTERNAL
Package 
G_Package


Detailed Description

Contains all of the core objects and routines necessary for the operation of the engine.

Enumeration Type Documentation

enum System::E_ClassFlags

Enumerator:
CLASS_Abstract  Class cannot be instantiated directly.
CLASS_Transient  Class instances are transient.
CLASS_Config  Class instances are filled with configuration data.
CLASS_ObjectConfig  Class instances should be configured individually.

enum System::E_ObjectFlags

Enumerator:
OBJECT_Public  Object is visible outside of its outer.
OBJECT_Managed  Object is managed by the garbage collector.
OBJECT_Unreachable  Object is not visible in the object tree.
OBJECT_Transient  Object should not be saved.
OBJECT_Destroyed  Object is destroyed and can be deallocated.
OBJECT_Keep  Object should not be collected even with a zero reference count.

enum System::E_PropertyFlags

Enumerator:
PROPERTY_Transient  Property is should not be saved.
PROPERTY_Config  Property should be saved in configuration.


Function Documentation

SYSTEM_API DWORD System::CyclicRedundancyCheck ( register CONST BYTE *  Key,
size_t  Length,
DWORD  InitialValue 
)

Parameters:
Key Pointer to key data.
Length Length of the key data.
InitialValue Previous hash or arbitrary value.
Returns:
The resulting hash value.
Commonly used for generating a unique digest based on a large amount of arbitrary data.

template<class InputIterator, class Type>
InputIterator System::Find ( InputIterator  First,
InputIterator  Last,
CONST Type &  Value 
) [inline]

Parameters:
First The iterator to begin from.
Last The iterator to end at.
Value The value to look for.
Returns:
If the value was found, an iterator pointing to it is returned, otherwise the last iterator is returned.

String System::Format ( CONST TCHAR *  Format,
  ... 
)

Formats a string and returns the result.

String System::FormatVA ( CONST TCHAR *  Format,
PVOID  Arguments 
)

Formats a string using a variable argument list and returns the result.

BOOL System::GetInitialized (  ) 

Return the system's status.

Allocator * System::GetStaticAllocator (  ) 

Return system static allocator.

SYSTEM_API DWORD System::JenkinsHash ( register CONST BYTE *  Key,
size_t  Length,
DWORD  InitialValue 
)

Parameters:
Key Pointer to key data.
Length Length of the key data.
InitialValue Previous hash or arbitrary value.
Returns:
The resulting hash value.
Robert J. Jenkins Jr's new hashing routine, provides fast and reliable results with good distribution.

VOID System::Shutdown (  ) 

System shutdown routine.

VOID System::Startup ( Output *  Logger,
Output *  Warning,
Output *  Error,
Allocator *  Allocator,
FileManager *  FileManager,
Database *  Database 
)

System startup routine.

VOID System::Tokenize ( CONST TCHAR *  Text,
StringVector &  Tokens,
CONST TCHAR *  Delimiters 
)

Tokenizes a string and stores the tokens in the specified string vector.

template<class InputIterator, class OutputIterator, class Func>
OutputIterator System::Transform ( InputIterator  First,
InputIterator  Last,
OutputIterator  Dest,
Func  Function 
) [inline]

Parameters:
First The input iterator to begin from.
Last The input iterator to end at.
Dest The output iterator specifying where to store the transformed elements.
Function The function used to transform an element.
Returns:
The last transformed element in the destination set.


Variable Documentation

SYSTEM_API EXTERNAL Allocator* System::G_Allocator

Memory allocator.

SYSTEM_API EXTERNAL Database* System::G_Database

System wide database manager.

SYSTEM_API EXTERNAL Output* System::G_Error

System wide error logger.

SYSTEM_API EXTERNAL FileManager* System::G_FileManager

File manager.

SYSTEM_API EXTERNAL BOOL System::G_Initialized

Whether or not the system is initialized.

SYSTEM_API EXTERNAL Output* System::G_Logger

System wide logger.

SYSTEM_API EXTERNAL Package System::G_Package

The system package.

SYSTEM_API EXTERNAL Output* System::G_Warning

System wide warning logger.


Generated on Wed Dec 5 14:53:01 2007 for Aerospace Engine by  doxygen 1.5.3