MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
Mezzanine Namespace Reference

The bulk of the engine components go in this namspace. More...

Namespaces

 Audio
 This namespace is for all the classes belonging to the Audio Subsystem.
 
 BinaryTools
 A grouping of utilities for working with binary data more easily.
 
 crossplatform
 All functionality that needs different implemenations per platform will go in here.
 
 debug
 This namespace is for internal debugging tools. In general it shouldn't be used in game code.
 
 Graphics
 This namespace is for all the classes belonging to the Graphics Subsystem.
 
 Input
 This namespace is for all the classes belonging to the Input Subsystem.
 
 internal
 This namespace is used for internal helper classes, and in general it should be ignored by game developers.
 
 MathTools
 This namespace is the home of a number of utility variables and methods to facilitate various math related tasks.
 
 Physics
 This namespace is for all the classes belonging to the Physics Subsystem.
 
 Resource
 This namespace is for all the classes belonging to the non-network I/O Subsystem.
 
 Scripting
 This namespace is for all the classes belonging to the Scripting Subsystem.
 
 StringTools
 This is a utility to help perform all kinds of string related tasks.
 
 Threading
 This is where game specific threading algorithms and a minimalistic subset of the std threading library a held.
 
 UI
 This namespace is for all the classes belonging to the Graphical User Interface Subsystem.
 
 Unicode
 A dumping ground for any feature that only relates to unicode work.
 
 XML
 All tools for working with XML are located in this namespace.
 

Classes

class  Actor
 This is the base class from which all the actors inherit. More...
 
class  ActorFactory
 A base factory type for the creation of Actor objects. More...
 
class  ActorManager
 A manager responsible for the storage and management of all actors that exist in a world. More...
 
class  ActorUpdateWorkUnit
 This is a Mezzanine::Threading::iWorkUnit for the updating of actors. More...
 
class  AlarmTimer
 This is a timer class that increments normally to a specified time. More...
 
struct  AngleLimits
 Boundaries for rotation on one axis. More...
 
class  AreaEffect
 This class is used to define area's in the world that have unique effects. More...
 
class  AreaEffectFactory
 A base factory type for the creation of AreaEffect objects. More...
 
class  AreaEffectManager
 A manager responsible for the storage and management of all areaeffects in use. More...
 
class  AreaEffectUpdateWorkUnit
 This is a Mezzanine::Threading::iWorkUnit for the updating of AreaEffects. More...
 
class  ArithmeticException
 Thrown when Math has failed. More...
 
class  AttachableBase
 This class is the base class for other attachable classes and is responsible for transform updates to attachables. More...
 
class  AttachableChild
 This class is the base class for objects that can be attached to AttachableParent. More...
 
class  AttachableParent
 Base class for objects that can have attachables attached to them. More...
 
class  AxisAlignedBox
 This is a utility class used to represent the Axis-Aligned Bounding Boxes of objects in various subsystems. More...
 
class  BezierInterpolator
 A simple functor for interpolating data points in a simple way. More...
 
class  BufferedRollingAverage
 A RollingAverage that stores a copy of each record. and does the math when queried. More...
 
class  CameraController
 This is a simplified controller class for use with cameras. More...
 
class  CFunctionSubscriberSlot
 This is a subscriber slot class that triggers a Free/C-style function. More...
 
class  ColourValue
 This is a simple class for holding 4 reals representing the colour any give object or lightsource can have. More...
 
class  CountedPtr
 A simple reference counting pointer. More...
 
class  CountedPtrCastImpl
 This is used as to determine how a CountedPtr performs castin between pointer types internally. More...
 
class  CountedPtrCastImpl< OriginalPointer, OriginalPointer, CastNoneError >
 An implementation of the CountedPtrCast that always return the pointer passed reached via CastNoneError in the ReferenceCountTraits of the target class. More...
 
class  CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastDynamic >
 An implementation of the CountedPtrCast that naively dynamic casts the passed pointer. Reached by putting CastDynamic in the ReferenceCountTraits of the target class. More...
 
class  CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastImplicit >
 An implementation of the CountedPtrCast that casts the passed pointer. Reached by putting CastStatic in the ReferenceCountTraits of the target class. More...
 
class  CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastNoneReturnZero >
 An implementation of the CountedPtrCast that always returns 0 cast to the original pointer type. Reached by putting CastNoneReturnZero in the ReferenceCountTraits of the target class. More...
 
class  CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastStatic >
 An implementation of the CountedPtrCast that naively static casts the passed pointer. Reached by putting CastStatic in the ReferenceCountTraits of the target class. More...
 
class  CubicSpline
 A class for interpolating data with arbitrary. More...
 
class  CubicSplineElement
 Meta data nodes required to generate a cubic spline. More...
 
class  CustomSubscriberSlot
 This is a subscriber slot class that passes on the event firing to a custom subscriber class. More...
 
class  Debris
 A simple world object without a large structure ideal for representing loose small objects. More...
 
class  DebrisFactory
 A base factory type for the creation of Debris objects. More...
 
class  DebrisManager
 A manager responsible for the storage and management of all Debris that exist in a world. More...
 
class  DebrisUpdateWorkUnit
 This is a Mezzanine::Threading::iWorkUnit for the updating of Debris. More...
 
class  DefaultActorManagerFactory
 A factory responsible for the creation and destruction of the default actormanager. More...
 
class  DefaultAreaEffectManagerFactory
 A factory responsible for the creation and destruction of the default areaeffectmanager. More...
 
class  DefaultDebrisManagerFactory
 A factory responsible for the creation and destruction of the default DebrisManager. More...
 
class  DefaultEventManagerFactory
 A factory responsible for the creation and destruction of the default eventmanager. More...
 
class  DefaultResourceManagerFactory
 A factory responsible for the creation and destruction of the default resourcemanager. More...
 
struct  DefaultRollingAverage
 Use this to get the default rolling average for a given type. More...
 
class  DefaultTerrainManagerFactory
 A factory responsible for the creation and destruction of the default terrainmanager. More...
 
class  DeSerializer
 A tool for deserializing classes with specific issues deserializing them. More...
 
class  DirectoryException
 Thrown when there is an unknown issue with a file. More...
 
class  DirectoryNotFoundException
 Thrown when a directory was expected to be there, but was not. More...
 
class  DirectoryPermissionException
 Thrown when permission is denied to a directory. More...
 
class  DirectoryReadException
 Thrown when a directory could be read and it wasn't a permission issue. More...
 
class  DirectoryWriteException
 Thrown when a directory could be written to and it wasn't a permission issue. More...
 
class  EndNodeItem
 
class  Entresol
 This is the main entry point for the entire library. More...
 
class  Event
 This class represents a given event that can be subscribed to and/or fired. More...
 
class  EventArguments
 This is a common class to represent all possible arguments for a given event that is fired. More...
 
class  EventBase
 The base class for all events. More...
 
class  EventGameWindow
 Convey the message that Something happened to a game window. More...
 
class  EventGameWindowData
 used to keep private in one place that is actually private. More...
 
class  EventManager
 This is a container for Events and facilitates the transfer of data. More...
 
class  EventPublisher
 This is the base class for any class that generates and publishes events to subscribers. More...
 
class  EventPumpWorkUnit
 Every frame the OS must be queried for changes to the state, this does that querying on behalf of an eventmanager. More...
 
class  EventQuit
 This is intended to convey the message that quitting needs to happen. More...
 
class  EventSubscriber
 This is a base class for all classes that subscribe to events. More...
 
class  EventSubscriberSlot
 This class represents a slot in an event that can be subscribed to via subscribers, functors, or methods. More...
 
class  EventUserInput
 This is a container for MetaCodes that is used in the EventManager. More...
 
class  Exception
 This is the exception thrown by most Mezzanine system that can throw exceptions. More...
 
struct  ExceptionFactory
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ArithmeticException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ArithmeticException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< DirectoryException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required DirectoryException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< DirectoryNotFoundException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required DirectoryNotFoundException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< DirectoryPermissionException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required DirectoryPermissionException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< DirectoryReadException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required DirectoryReadException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< DirectoryWriteException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required DirectoryWriteException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< FileException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required FileException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< FileNotFoundException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required FileNotFoundException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< FilePermissionException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required FilePermissionException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< FileReadException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required FileReadException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< FileWriteException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required FileWriteException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InstanceIdentityDuplicateException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InstanceIdentityDuplicateException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InstanceIdentityException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InstanceIdentityException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InstanceIdentityInvalidException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InstanceIdentityInvalidException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InstanceIdentityNotFoundException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InstanceIdentityNotFoundException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InternalException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InternalException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InvalidAssignment::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InvalidAssignment can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InvalidStateException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InvalidStateException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< InvalidVersionException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required InvalidVersionException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< IOException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required IOException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< IOReadException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required IOReadException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< IOWriteException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required IOWriteException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< MemoryManagementException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required MemoryManagementException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< MemoryOutOfBoundsException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required MemoryOutOfBoundsException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NetworkException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NetworkException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NetworkNotFoundException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NetworkNotFoundException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NetworkPermissionException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NetworkPermissionException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NetworkReadException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NetworkReadException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NetworkURLException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NetworkURLException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NetworkWriteException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NetworkWriteException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< NotImplementedException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required NotImplementedException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< OutOfMemoryException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required OutOfMemoryException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ParametersCastException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ParametersCastException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ParametersException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ParametersException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ParametersRangeException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ParametersRangeException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< RenderingAPIException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required RenderingAPIException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< RuntimeAssertionException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required RuntimeAssertionException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ScriptException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ScriptException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ScriptLuaErrErrException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ScriptLuaErrErrException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ScriptLuaException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ScriptLuaException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ScriptLuaRuntimeException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ScriptLuaRuntimeException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< ScriptLuaYieldException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required ScriptLuaYieldException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< SyntaxErrorException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required SyntaxErrorException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< SyntaxErrorLuaException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required SyntaxErrorLuaException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< SyntaxErrorXMLException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required SyntaxErrorXMLException can be created at compile time if the compiler is clever. More...
 
struct  ExceptionFactory< SyntaxErrorXPathException::ExceptionCode >
 A template metaprogramming construct used to ensure that all required SyntaxErrorXPathException can be created at compile time if the compiler is clever. More...
 
class  ExtendedTimer
 An enhanced timer class that can store and track many units of time. More...
 
class  FieldOfForce
 This is field that applies force in a direction, and doesn't tamper with gravity. More...
 
class  FieldOfForceFactory
 A factory type for the creation of FieldOfForce objects. More...
 
class  FileException
 Thrown when there is an unknown issue with a file. More...
 
class  FileNotFoundException
 Thrown when a file was expected to be there, but was not. More...
 
class  FilePermissionException
 Thrown when permission was denied to a file. More...
 
class  FileReadException
 Thrown when a file could not be read and permissions seem to not be an issue (Filesystem/hardware issue?) More...
 
class  FileWriteException
 Thrown when a file could not be written and perimssions seem not to be an issue. More...
 
class  FunctorSubscriberSlot
 This is a subscriber slot class that makes the appropriate call on a functor. More...
 
class  GoalTimer
 This is the base class for timers intended to run only until they reach a specific goal. More...
 
class  GravityField
 This is an implementation of the AreaEffect class that alters gravity in a region. More...
 
class  GravityFieldFactory
 A factory type for the creation of GravityField objects. More...
 
class  GravityWell
 This is a gravity well implementation of the AreaEffect class. More...
 
class  GravityWellFactory
 A factory type for the creation of GravityWell objects. More...
 
class  InstanceIdentityDuplicateException
 Thrown when duplicates of teh same identity string exist. More...
 
class  InstanceIdentityException
 Thrown when an unknown error with using an Identifier and it is invalid. More...
 
class  InstanceIdentityInvalidException
 Thrown when the identity string wasn't valid at all. More...
 
class  InstanceIdentityNotFoundException
 Thrown when the requested identity could not be found. More...
 
class  InternalException
 Thrown when an unknown internal error occurred. More...
 
class  IntHandle
 Sample implementation for a ManagedPtr. More...
 
class  IntrusiveRefCount
 A sample class that implements a minimal intrusive reference counting scheme. More...
 
class  InvalidAssignment
 Then when a complex class is assigned to itself or other invalid assignments occur. More...
 
class  InvalidStateException
 Thrown when the available information should have worked but failed for unknown reasons. More...
 
class  InvalidVersionException
 Thrown when a version is accessed/parsed/required and it cannot work correctly or is missing. More...
 
class  IOException
 Thrown when there was an issue with IO but very little was known about it. More...
 
class  IOReadException
 Thrown when a read is happening but something has prevented the underlying code from knowing what was reading. More...
 
class  IOWriteException
 Thrown when a write is happening but something has prevented the underlying code from knowing what was writing. More...
 
class  LinearInterpolator
 A simple functor for interpolating data points in a simple way. More...
 
class  LineGroup
 This is a group of consectutive line segments to be rendered together. More...
 
class  ManagedPtr
 This is used to get RAII semantics when not provided inherently. More...
 
class  ManagerBase
 This is the base class from which all the Entresol and World Managers inherit. More...
 
class  ManagerFactory
 This is a base class for factories that construct the managers the engine uses. More...
 
class  Matrix3x3
 This is a 3x3 Matrix class used for representing rotations and scaling in an object. More...
 
class  Matrix4x4
 A 4x4 matrix math class for the representation of full transforms. More...
 
class  MemoryManagementException
 Thrown when an unknown memory management exception occurs. More...
 
class  MemoryOutOfBoundsException
 Thrown when attempted to access something that really should note be accessed. More...
 
class  MeshTerrain
 
class  NetworkException
 Thrown when something unknown causes network IO to fail. More...
 
class  NetworkNotFoundException
 Thrown when no network connection is available. More...
 
class  NetworkPermissionException
 Thrown when permision was denied to a network interface or network resource. More...
 
class  NetworkReadException
 Thrown when data could not be read from the network (downloads). More...
 
class  NetworkURLException
 Thrown when an address is invalid or could not be found. More...
 
class  NetworkWriteException
 Thrown when data could not be read from the network (iloads). More...
 
class  Node
 
class  NodeItem
 
class  NodeItemPtrCompare
 
class  NotImplementedException
 Thrown when we just have not coded a thing yet, but we knew what the API should look like. More...
 
class  ObjectSettingFile
 This class represents a file to be saved containing one or more OhjectSettingGroup's. More...
 
class  ObjectSettingGroup
 A class that store's a collection of SettingSets that can be applied together. More...
 
class  ObjectSettingSet
 A class that store's a named set of settings for an object. More...
 
class  ObjectSettingSetContainer
 A base class for other classes that store ObjectSettingSet's. More...
 
class  ObjectSettingsHandler
 An abstract class for other classes that manage groups of settings. More...
 
class  OutOfMemoryException
 Thrown when A memory allocation was attempted and failed. More...
 
class  ParametersCastException
 Thrown when a pointer parameter is checked at runtime and cannot be cast as expected. More...
 
class  ParametersException
 Thrown when parameters are checked at runtime and found invalid. More...
 
class  ParametersRangeException
 Thrown when a passed parameter is checked at runtime and not in the expected range. More...
 
class  Plane
 This is used to represent a flat infinite slice of the game world. More...
 
class  Quaternion
 This is used to store information about rotation in 3d space. More...
 
class  Ray
 This represents a line placed in 3D space and is used with spacial queries. More...
 
class  RayQueryTool
 This provides a number of optional tools for working with a Mezzanine::World. More...
 
class  ReferenceCount
 This exists once per object managed by a group of shared pointer to track items in memory. More...
 
class  ReferenceCountTraits
 This is used to deduce at compile if a specific class has built-in reference counting or needs an external reference count. More...
 
class  ReferenceCountTraits< IntrusiveRefCount >
 An Example ReferenceCountTraits implmentation. More...
 
class  ReferenceCountTraits< Scripting::iScript >
 Marks IScript for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::iScriptArgument >
 Marks iScriptArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::iScriptCompilable >
 Marks iScriptCompilable for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::iScriptMultipleReturn >
 Marks iScriptMultipleReturn for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< Boolean > >
 Marks ScriptArgumentGeneric<Real> for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< Integer > >
 Marks ScriptArgumentGeneric<Integer> for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< Real > >
 Marks ScriptArgumentGeneric<Real> for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< Scripting::NullArgument > >
 Marks ScriptArgumentGeneric<Real> for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< String > >
 Marks ScriptArgumentGeneric<String> for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< Whole > >
 Marks ScriptArgumentGeneric<Whole> for internal reference counting if a CountedPtr checks. More...
 
class  RenderingAPIException
 Thrown when the graphics card/DirectX/OpenGL fail. More...
 
class  ResourceInputStream
 A stream from a file, can read from zip files as well. More...
 
class  ResourceManager
 This is the manager responsible for the loading and unloading of files. More...
 
class  RigidDebris
 A non-deformable debris. More...
 
class  RigidDebrisFactory
 A base factory type for the creation of non-deformable Debris objects. More...
 
class  RollingAverage
 The interface for rolling averages used in the Mezzanine, and threading library. More...
 
class  RuntimeAssertionException
 Thrown when a rutime assertion could have been thrown. More...
 
class  ScriptException
 Thrown when an unknown error happens with a script. More...
 
class  ScriptLuaErrErrException
 Thrown when Lua has an error handling an error. More...
 
class  ScriptLuaException
 Thrown when an unknown error happens in a Lua script. More...
 
class  ScriptLuaRuntimeException
 Thrown when a Lua script has a runtime error. More...
 
class  ScriptLuaYieldException
 Thrown when Lua returns a yield and it should not have. More...
 
class  ScriptSubscriberSlot
 This is a subscriber slot class that triggers a provided script. More...
 
class  Serializer
 A tool for serializing classes with specific issues serializing. More...
 
class  SetItems
 Container representing each node in the Trie. More...
 
class  Singleton
 This is a convenient base class intended to be used with classes that need to be singletons. More...
 
class  SlowSplineInterpolator
 If something specifically needs the linear interpolator for T they should use this. More...
 
class  SmoothTrackIterator
 An Iterator that can take an arbitrary amount of steps through a track. More...
 
class  SoftDebris
 A deformable debris. More...
 
class  SoftDebrisFactory
 A base factory type for the creation of deformable Debris objects. More...
 
class  Sphere
 This is a generic sphere class used for spacial queries. More...
 
class  StopWatchTimer
 This is a timer class for counting down to a specified time. More...
 
class  SymbolToIndexMapper
 
class  SyntaxErrorException
 Thrown when some kind of syntax exception. More...
 
class  SyntaxErrorLuaException
 Thrown when lua code in incorrect. More...
 
class  SyntaxErrorXMLException
 Thrown when and XML document is being parsed but is invalid. More...
 
class  SyntaxErrorXPathException
 Thrown when an XPath query is being parsed but is invalid. More...
 
class  TerrainBase
 This is the base class from which all the terrains inherit. More...
 
class  TerrainManager
 This is manager for terrains and their functions. More...
 
struct  Time
 A container for the metrics of time relevant for the timer class. More...
 
class  TimedTrackIterator
 This will take the same amount of clock time to iterate over a range. More...
 
class  Timer
 A base timer class for the different timers. More...
 
class  Track
 
class  TrackBase
 A base type that provides container features for different tracks. More...
 
class  TrackLooped
 A track that keeps an extra data point in the track to make sure it loops. More...
 
class  TrackStorage
 
class  Transform
 Stores information about relative location and rotation in 3d space. More...
 
class  TransformableChildObject
 This is an interface for all child 3D objects that can have their full transforms manipulated. More...
 
class  TransformableObject
 This is an interface for all 3D objects that can have their full transforms manipulated. More...
 
class  Trie
 Trie main class. More...
 
class  Vector2
 This is used to represent a point on a 2 dimentional area, such as a screen. More...
 
class  Vector3
 This is used to represent a point in space, or a vector through space. More...
 
class  VectorItems
 Container representing each node in the Trie. More...
 
class  WeightedRollingAverage
 A weighted average that does math with every insertion and stores nothing. More...
 
class  WindowSettings
 This stores all the basic configuration options a game window supports. More...
 
class  World
 This class represents a world for objects to interact within. More...
 
class  WorldManager
 This is the base class for all managers that belong to a single world instance. More...
 
class  WorldObject
 This is the base class from which classes that are insertable into the physical world. More...
 
class  WorldProxy
 This is the base class for proxy objects belonging to the various 3D subsystems. More...
 
class  WorldTrigger
 This is an abstract class for creating in-game triggers. More...
 

Typedefs

typedef bool Boolean
 
typedef char Char8
 A datatype to represent one character. More...
 
typedef
MetaCodeContainer::const_iterator 
ConstMetaCodeIterator
 
typedef const String ConstString
 A Datatype used to a series of imutable characters. More...
 
typedef intptr_t ConvertiblePointer
 A type that any pointer can be converted to and back from, and insures after the conversion back it will be identical.
 
typedef int16_t Int16
 An 16-bit integer.
 
typedef int32_t Int32
 An 32-bit integer.
 
typedef int64_t Int64
 An 64-bit integer.
 
typedef int8_t Int8
 An 8-bit integer.
 
typedef int Integer
 A datatype used to represent any integer close to. More...
 
typedef std::stringstream Logger
 In case we ever replace the stringstream with another class, this will allow us to swap it out. More...
 
typedef long long MaxInt
 A large integer type suitable for compile time math and long term microsecond time keeping. More...
 
typedef std::vector
< Input::MetaCode
MetaCodeContainer
 
typedef MetaCodeContainer::iterator MetaCodeIterator
 
typedef std::pair< String, StringNameValuePair
 This is a pair for the generic storage of a value and it's associated name.
 
typedef std::list< NameValuePairNameValuePairList
 This is a datatype mostly used for describing settings or parameters that can't be declared in advance. More...
 
typedef std::map< String, StringNameValuePairMap
 This is a datatype mostly used for describing settings or parameters that can't be declared in advance. More...
 
typedef double PreciseReal
 A Real number that is at least as precise as the Real and could be considerabll moreso.
 
typedef SDL_Event RawEvent
 This is an internal datatype use to communicate with the User input Subsystem. More...
 
typedef float Real
 A Datatype used to represent a real floating point number. More...
 
typedef std::string String
 A datatype used to a series of characters. More...
 
typedef std::set< StringStringSet
 This is a simple datatype for a set container of strings.
 
typedef std::stringstream StringStream
 A Datatype used for streaming operations with strings.
 
typedef std::vector< StringStringVector
 This is a simple datatype for a vector container of strings.
 
typedef UInt32 TimeMarker
 A datatype used to indicate a specific point in time, or a timestamp. More...
 
typedef uint16_t UInt16
 An 16-bit unsigned integer.
 
typedef uint32_t UInt32
 An 32-bit unsigned integer.
 
typedef uint64_t UInt64
 An 64-bit unsigned integer.
 
typedef uint8_t UInt8
 An 8-bit unsigned integer.
 
typedef unsigned long Whole
 Whole is an unsigned integer, it will be at least 32bits in size. More...
 
typedef std::wstring WideString
 A wide version of the String typedef. More...
 

Enumerations

enum  ArchiveType { AT_FileSystem = 0, AT_Zip = 1, AT_Invalid = 32768 }
 Used to indicate what kind of resources the Entrosol should look for. More...
 
enum  AttenuationStyle { Att_None, Att_Linear, Att_Quadratic }
 These values represent the kind of attenuation applied to the field strength over a distance. More...
 
enum  CountedPointerCastingState {
  CastNoneError = -2, CastNoneReturnZero = -1, CastImplicit = 1, CastStatic = 2,
  CastDynamic = 3
}
 CountedPointer casting implementation states. More...
 
enum  OrientationMode {
  OM_Degree_0 = 0, OM_Degree_90 = 1, OM_Degree_180 = 2, OM_Degree_270 = 3,
  OM_Portrait = OM_Degree_0, OM_LandscapeRight = OM_Degree_90, OM_LandscapeLeft = OM_Degree_270
}
 Simple enum for communicating the orientation the UI and Camera have relative to the world it is rendering. More...
 
enum  PauseLevel {
  PL_Unpaused = 0, PL_PausePhysics = 1, PL_PauseParticles = 2, PL_PauseAnimations = 4,
  PL_PauseAll = PL_PausePhysics | PL_PauseParticles | PL_PauseAnimations
}
 Used by the world class to describe the extent of pausing a world.
 
enum  ProxyType {
  PT_Audio_First = 1, PT_Audio_Listener = 1, PT_Audio_SoundProxy = 2, PT_Audio_Last = 2,
  PT_Graphics_First = 4, PT_Graphics_BillboardSetProxy = 4, PT_Graphics_CameraProxy = 8, PT_Graphics_EntityProxy = 16,
  PT_Graphics_LightProxy = 32, PT_Graphics_ParticleSystemProxy = 64, PT_Graphics_Last = 64, PT_Physics_First = 128,
  PT_Physics_GhostProxy = 128, PT_Physics_RigidProxy = 256, PT_Physics_SoftProxy = 512, PT_Physics_Last = 512,
  PT_Audio_All_Proxies = ( PT_Audio_Listener | PT_Audio_SoundProxy ), PT_Graphics_All_Proxies = ( PT_Graphics_BillboardSetProxy | PT_Graphics_CameraProxy |PT_Graphics_EntityProxy |PT_Graphics_LightProxy |PT_Graphics_ParticleSystemProxy ), PT_Physics_All_Proxies = ( PT_Physics_GhostProxy | PT_Physics_RigidProxy | PT_Physics_SoftProxy )
}
 Used by all World proxies to describe what their derived types are. More...
 
enum  StandardAxis { Axis_Invalid = -1, Axis_X = 0, Axis_Y = 1, Axis_Z = 2 }
 Used to identify different Axis in a 3d coordinate system. More...
 
enum  TrackType { TT_Simple = 1, TT_Spline = 2, TT_Bezier = 3 }
 Used by Track classes to define the type of curves the track has.
 
enum  TransformSpace { TS_Local = 0, TS_Parent = 1, TS_World = 2 }
 Used to define what frame of reference is to be used when positioning or rotating objects. More...
 
enum  WorldObjectType {
  WO_TerrainFirst = 1, WO_MeshTerrain = 1, WO_HeightfieldTerrain = 2, WO_VectorFieldTerrain = 4,
  WO_VoxelTerrain = 8, WO_MarchingCubeTerrain = 16, WO_UnknownTerrain = 32, WO_TerrainLast = 32,
  WO_DebrisFirst = 64, WO_DebrisRigid = 64, WO_DebrisSoft = 128, WO_DebrisUnknown = 256,
  WO_DebrisLast = 256, WO_AreaEffectFirst = 512, WO_AreaEffectGravityField = 512, WO_AreaEffectGravityWell = 1024,
  WO_AreaEffectFieldOfForce = 2048, WO_AreaEffectPlaceHolder1 = 4069, WO_AreaEffectPlaceHolder2 = 8192, WO_AreaEffectUnknown = 16384,
  WO_AreaEffectLast = 16384, WO_ActorFirst = 32768, WO_ActorPlaceHolder1 = 32768, WO_ActorPlaceHolder2 = 65536,
  WO_ActorPlaceHolder3 = 131072, WO_ActorLast = 131072, WO_VehicleFirst = 262144, WO_VehiclePlaceHolder1 = 262144,
  WO_VehiclePlaceHolder2 = 524288, WO_VehiclePlaceHolder3 = 1048576, WO_VehiclePlaceHolder4 = 2097152, WO_VehiclePlaceHolder5 = 4194304,
  WO_VehicleLast = 4194304
}
 

Functions

template<typename To , typename From >
To ConvertTo (const From &Datum)
 Catch all Lexigraphical Conversion. More...
 
template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > CountedPtrCast (CountedPtr< OtherPointerTargetType > &Original)
 A compile time cast that uses only the implicit conversion of the underlying raw pointers. More...
 
template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > CountedPtrDynamicCast (CountedPtr< OtherPointerTargetType > &Original)
 A Runtime cast that uses dynamic casting conversion of the underlying raw pointers but only works on internally reference count types. More...
 
template<typename Pointer >
Pointer * CountedPtrInternalCast (Pointer *Original)
 Used internally by CounterPtr to abstract away casts in the case where the return type would match the input type. More...
 
template<typename ReturnPointer , typename OriginalPointer >
ReturnPointer * CountedPtrInternalCast (const OriginalPointer *Original)
 Used internally by CounterPtr to abstract away casts in the case where the return type would NOT match the input type. More...
 
template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > CountedPtrStaticCast (CountedPtr< OtherPointerTargetType > &Original)
 A compile time cast that uses static casting conversion of the underlying raw pointers but only works on internally reference count types. More...
 
template<class T >
std::istream & DeSerialize (std::istream &Stream, T &Converted)
 Deserialize the next xml tag in the stream into a specific in memory class instance. More...
 
void DeSerializeError (const String &FailedTo, const String &ClassName, bool SOrD=false)
 Simply does some string concatenation, then throws an Exception. More...
 
Whole GetCachelineSize ()
 Get the size of one unit of storage on the CPU cache for purposes of tuning alogrithms. More...
 
Whole GetCacheSize ()
 How much storage can be used before RAM must be used. More...
 
Whole MEZZ_LIB GetCPUCount ()
 Get the amount of logendifical processors, a reasononable amount to use for thread creation. More...
 
MaxInt GetTimeStamp ()
 Get a timestamp, in microseconds. This will generally be some multiple of the GetTimeStampResolution return value. More...
 
Whole GetTimeStampResolution ()
 Get the resolution of the timestamp in microseconds. This is the smallest amount of time that the GetTimeStamp can accurately track. More...
 
template<typename InterpolatableType >
SmoothTrackIterator
< InterpolatableType > & 
operator+ (Integer Steps, SmoothTrackIterator< InterpolatableType > &Iter)
 This allows for addition with and an Integer on the Left hand side, such as: 2 + Iter. More...
 
template<typename InterpolatableType >
SmoothTrackIterator
< InterpolatableType > & 
operator- (Integer Steps, SmoothTrackIterator< InterpolatableType > &Iter)
 This allows for subtraction with and an Integer on the Left hand side, such as: 2 + Iter. More...
 
void PrintHello ()
 
template<class T >
std::ostream & Serialize (std::ostream &Stream, const T &Converted, const String &Indent=String(""))
 Convert any class that supports serialization or has a serializer to a string of chars in a stream. More...
 
void SerializeError (const String &FailedTo, const String &ClassName, bool SOrD=true)
 Simply does some string concatenation, then throws an Exception. More...
 
template<class T >
void SloppyProtoSerialize (const T &Converted, XML::Node &CurrentRoot)
 Used to interface with a previous version of the serialization code. More...
 
template<class T >
Boolean ToBool (const T &Datum)
 Converts whatever to a Boolean as long as the proper streaming operators are available for it. More...
 
template<class T >
double Todouble (const T &Datum)
 Converts whatever to a double as long as the proper streaming operators are available for it. More...
 
template<class T >
float Tofloat (const T &Datum)
 Converts whatever to a float as long as the proper streaming operators are available for it. More...
 
template<class T >
int Toint (const T &Datum)
 Converts whatever to an int as long as the proper streaming operators are available for it. More...
 
template<class T >
Integer ToInteger (const T &Datum)
 Converts whatever to an Integer as long as the proper streaming operators are available for it. More...
 
template<class T >
Real ToReal (const T &Datum)
 Converts whatever to a Real as long as the proper streaming operators are available for it. More...
 
template<class T >
String ToString (const T &Datum)
 Converts whatever to a String as long as a streaming operator is available for it. More...
 
template<class T >
unsigned int Tounsignedint (const T &Datum)
 Converts whatever to an unsigned int as long as the proper streaming operators are available for it. More...
 
template<class T >
Whole ToWhole (const T &Datum)
 Converts whatever to a Whole as long as the proper streaming operators are available for it. More...
 

Detailed Description

The bulk of the engine components go in this namspace.

Forward declaration.

All of the Mezzanine game library components reside in this namespace.

This is where imporant classes like World, GraphicsManager, and The eventmanager reside. For more detailed usage information please refer to individual class documentation or the Mezzanine main page.

Todo:
This exists because somewhere in our chain of includes we have "winnt.h" (on windows) defining "KEY_EXECUTE", which causes the compile to fail at the line declaring "KEY_EXECUTE". I am reasonably certain this only exists when <Ogre.h> is included above this file in the include chain.

The DAG Frame Scheduler is just one part of many in the Mezzanine. The Mezzanine as a whole is intended to tie a complex collection of libraries into one cohesive library.

Typedef Documentation

A datatype to represent one character.

This should be a char if String is an std::string.

Definition at line 176 of file datatypes.h.

A Datatype used to a series of imutable characters.

This is a typedef to const String, but could change.

Definition at line 171 of file datatypes.h.

A datatype used to represent any integer close to.

This is a typedef to int, but could int16 or smaller to improve performance in some situtations, In general it will be the most efficient signed type for math.

Definition at line 157 of file datatypes.h.

typedef std::stringstream Mezzanine::Logger

In case we ever replace the stringstream with another class, this will allow us to swap it out.

This will always support <<, str() but may lose support for formatting functions like std::hex.

Definition at line 189 of file datatypes.h.

typedef long long Mezzanine::MaxInt

A large integer type suitable for compile time math and long term microsecond time keeping.

For reference when this is a 64 bit integer, it can store a number between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. In seconds that is approximately 292,277,000,000 years and the universe is only 14,600,000,000 years old. So this is good for any time between 20x the age of the universe before and after the beginning of any chosen epoch. Even if used to track nanoseconds it should be good for 292 years.

Definition at line 199 of file datatypes.h.

This is a datatype mostly used for describing settings or parameters that can't be declared in advance.

This datatype uses the std::list container for it's storage.

Definition at line 218 of file datatypes.h.

This is a datatype mostly used for describing settings or parameters that can't be declared in advance.

This datatype uses the std::map container for it's storage.

Definition at line 223 of file datatypes.h.

This is an internal datatype use to communicate with the User input Subsystem.

This is a typedef to SDL_Event. See the SDL Documentation for more details.

Definition at line 237 of file datatypes.h.

A Datatype used to represent a real floating point number.

This Datatype is currently a typedef to a float, This is to match our compilations of Ogre (rendering subsystem ogre::Real), and Bullet (physics subsystem, btScalar). With a recompilation of all the subsystems and this there is no theoretical reason why this could not be changed to a double, or even something more extreme like a GMP datatype. Most likely this switch would require atleast some troubleshooting.

Definition at line 144 of file datatypes.h.

A datatype used to a series of characters.

This is a typedef to std::string, but could change particularly if UTF16 or UTF32 support is desired. If this is changed, The Character typedef should be adjusted accordingly.

Definition at line 163 of file datatypes.h.

A datatype used to indicate a specific point in time, or a timestamp.

This is made into it's own datatype in case we want to tweak the possible size for a timestamp.

Definition at line 205 of file datatypes.h.

Whole is an unsigned integer, it will be at least 32bits in size.

This is a typedef to unsigned Long. but could be smaller in some situations. In general it will be the most efficient unsigned type for math.

Definition at line 153 of file datatypes.h.

A wide version of the String typedef.

Wide strings are seldom used, but often come in handy when dealing with Unicode strings.

Definition at line 167 of file datatypes.h.

Enumeration Type Documentation

Used to indicate what kind of resources the Entrosol should look for.

Enumerator
AT_FileSystem 

Look for raw files.

AT_Zip 

Look for stuff in zip files even if the extension is not '.zip'.

AT_Invalid 

Indicates this valid was messed up unrecoverably, most likely by a bug.

Definition at line 53 of file enumerations.h.

These values represent the kind of attenuation applied to the field strength over a distance.

None is the default, where the force is constant in all area's of the field. Linear is where the force applied drops by the attenuation value times the distance (strength - (attenuation amount * distance to AE center)). Quadratic is where the force applied drops by the attenuation value times the distance squared (strength - (attenuation amount * distance to AE center * distance to AE center)).

Enumerator
Att_None 

No Attentuation, Equal strength through.

Att_Linear 

Linear attentuation, Strength weaker farther from center.

Att_Quadratic 

Quadratic/Exponential Attentuation, similar to real gravity, it tapers of more the further from the center you get.

Definition at line 68 of file enumerations.h.

CountedPointer casting implementation states.

The CountedPtrCast uses some template metaprogramming to include the correct cast at compile time in the CountedPtr. In some situations it is difficult to cast from one kind of pointer to another even when it is conceptually sound to do so. For example, when virtual inheritance is used downcasting can be difficult even when a pointer was just returned from one member of an object into another member of that object but from a member function whose interface specified a more base return type. While possible to work around this normally, imagine the same situation if some of the types involved were templates.

Enumerator
CastNoneError 

No Casting, any cast attempt results in a compilation Error.

CastNoneReturnZero 

No Casting, 0 is returned. Useful when types are unknown and dynamic casts are already used and checked.

CastImplicit 

Does no casting, but keeps types distinct. This should allow implicit casts to more base types, and disallow casts to derived types.

CastStatic 

A static cast from the pointer as provided with no attempt to calls functions on the pointer target, this is default for externally reference counted pointers.

CastDynamic 

A dynamic cast from the pointer as provided with no attempt to calls functions on the pointer target, this is default for externally reference counted pointers.

Definition at line 58 of file countedptr.h.

Simple enum for communicating the orientation the UI and Camera have relative to the world it is rendering.

This is used by CameraProxies to determine the orientation of the camera frustrum.

This enum is used by the UI and graphics sub-systems for when a change in orientation is detected. Under normal circumstances this kind of thing should only occur in mobile devices such as SmartPhones and Tablets. However this can be forced on other devices/platforms.

Definition at line 79 of file enumerations.h.

Used by all World proxies to describe what their derived types are.

This is used by the PhysicsProxy child classes to describe which proxy type they are.

Definition at line 106 of file enumerations.h.

Used to identify different Axis in a 3d coordinate system.

Note
These are compatible with the linear Axis on many constraints, but not the rotational axis.
Enumerator
Axis_Invalid 

Not an axis, Don't pass this into functions or operator[] functions, it is intended as a.

Axis_X 

X axis.

Axis_Y 

Y axis.

Axis_Z 

Z axis.

Definition at line 135 of file enumerations.h.

Used to define what frame of reference is to be used when positioning or rotating objects.

Enumerator
TS_Local 

Local space, aka the object in questions world position is used as origin.

TS_Parent 

Mostly reserved for rotations, means a rotation to occur around the parent instead of self.

TS_World 

World space.

Definition at line 154 of file enumerations.h.

Function Documentation

template<typename To , typename From >
To Mezzanine::ConvertTo ( const From &  Datum)

Catch all Lexigraphical Conversion.

Parameters
DatumA value of any type that will be converted.
Returns
The value as if 'read' into the target type.
Todo:
Overload ConvertTo for ToString Conversions.

Definition at line 248 of file datatypes.h.

template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > Mezzanine::CountedPtrCast ( CountedPtr< OtherPointerTargetType > &  Original)

A compile time cast that uses only the implicit conversion of the underlying raw pointers.

Parameters
ReturnTypeThe type to be returned, must be specified
OtherPointerTargetTypeThe type of the provided pointer, this can be infered and should not be provided.
OriginalThe pointer to convert.
Returns
Either a pointer of the desired or a compilation error

Definition at line 652 of file countedptr.h.

template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > Mezzanine::CountedPtrDynamicCast ( CountedPtr< OtherPointerTargetType > &  Original)

A Runtime cast that uses dynamic casting conversion of the underlying raw pointers but only works on internally reference count types.

Parameters
ReturnTypeThe type to be returned, must be specified
OtherPointerTargetTypeThe type of the provided pointer, this can be infered and should not be provided.
OriginalThe pointer to convert.
Returns
Either a pointer of the desired or a 0 if casting is not possible.

Definition at line 670 of file countedptr.h.

template<typename Pointer >
Pointer * Mezzanine::CountedPtrInternalCast ( Pointer *  Original)

Used internally by CounterPtr to abstract away casts in the case where the return type would match the input type.

This enforces the logic that cast should only be performed inside the CountedPtr when a cast is required. This also has the advantage of not performing meaningless extra casts if a runtime cast is used, so it coudl enhance performance.

Parameters
PointerThe only type of pointers involved.
OriginalThe pointer that needs to be checked to see if it should be cast and this compilation case does not require it.
Returns
The value passed in Original.

Definition at line 643 of file countedptr.h.

template<typename ReturnPointer , typename OriginalPointer >
ReturnPointer * Mezzanine::CountedPtrInternalCast ( const OriginalPointer *  Original)

Used internally by CounterPtr to abstract away casts in the case where the return type would NOT match the input type.

Parameters
ReturnPointerThe type of the pointer to target after using the Casting Strategy described in the classes ReferenceCountTraits.
OriginalPointerThe type of the pointer prior to casting.
Note
The function argument Original is of type const OriginalPointer. When search for possible matching functions an template a compiler prioritizes functions that are off by just a CV qualifier ahead of those that it would need to implicitly cast to call. So if the to pointer types match exactly this will not be called.
Parameters
OriginalThe Pointer to cast which must be exactly of the type OriginalPointer(Which might be inferable).
Returns
A pointer of the type ReturnPointer after the desired casting strategy has been used.

Definition at line 620 of file countedptr.h.

template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > Mezzanine::CountedPtrStaticCast ( CountedPtr< OtherPointerTargetType > &  Original)

A compile time cast that uses static casting conversion of the underlying raw pointers but only works on internally reference count types.

Static casting can access internals also.

Parameters
ReturnTypeThe type to be returned, must be specified
OtherPointerTargetTypeThe type of the provided pointer, this can be infered and should not be provided.
OriginalThe pointer to convert.
Returns
Either a pointer of the desired or a compilation error

Definition at line 661 of file countedptr.h.

template<class T >
std::istream& Mezzanine::DeSerialize ( std::istream &  Stream,
T &  Converted 
)

Deserialize the next xml tag in the stream into a specific in memory class instance.

"void ProtoDeSerialize(const XML::Node&)" and "static String SerializableName() const" must be implemented on the class instance that is passed in for this to work

Parameters
StreamThe istream to extract the required data from
ConvertedThe Class member that is deserialized.
Returns
This returns the istream that provided the serialized data.

Definition at line 428 of file serialization.h.

void Mezzanine::DeSerializeError ( const String &  FailedTo,
const String &  ClassName,
bool  SOrD = false 
)

Simply does some string concatenation, then throws an Exception.

Parameters
FailedToWhat failed to happed for example "create testnode" or "acquire a mutex"
ClassNameThe name of the class throw the exception
SOrDDefaults to false, and if true uses the word "Serialization", otherwise uses the word "DeSerialization"
Exceptions
AMezzanine::Exception with the message "Could not {FailedTo} during {ClassName} [De]Serialization."

This just calls SerializeError() with the third parameter false. This exists solely to make code A little more readable.

Definition at line 53 of file serialization.cpp.

Whole MEZZ_LIB Mezzanine::GetCachelineSize ( )

Get the size of one unit of storage on the CPU cache for purposes of tuning alogrithms.

This gets the smallest line size amongst available caches on the current system, it assumes that L1 cache lines are smaller than L2 and those are smaller than L3 and so if required.

Returns
The size of a single cache line/cache unit
Warning
There is a bug in MinGw which prevents this from working on windows. This always returns 64 in such situations.

Definition at line 195 of file systemcalls.cpp.

Whole MEZZ_LIB Mezzanine::GetCacheSize ( )

How much storage can be used before RAM must be used.

In many modern system cache (of all levels) is signifigantly faster than main memory. For this reason the most useful cache value is the largest cache. This attempts to get the largest value of cache on the CPU. If there are multiple physical CPUs (as opposed to multiple cores) this will likely return the amount of cache on each CPU package. This is useful for tuning alogrithms in a specific places and only in a single thread.

Returns
The size of the largest CPU cache in bytes.
Warning
There is a bug in MinGw which prevents this from working on windows. This always returns 32768 in such situations.

Definition at line 126 of file systemcalls.cpp.

Whole MEZZ_LIB Mezzanine::GetCPUCount ( )

Get the amount of logendifical processors, a reasononable amount to use for thread creation.

This returns whatever your OS thinks is the count of CPUs. This could include Hyperthreading unit on Intel's chip, or it might not, it could include the threads from Niagra CPUs or it might not, it could return just about any value on a given piece of and should return a reasonable value for how many threads should be used.

Returns
A Whole containing the amount of processors.

Definition at line 114 of file systemcalls.cpp.

MaxInt MEZZ_LIB Mezzanine::GetTimeStamp ( )

Get a timestamp, in microseconds. This will generally be some multiple of the GetTimeStampResolution return value.

Warning
On some platforms this requires a static initialization, an can cause undefined behavior if called before static initializations are complete
Returns
The largest size integer containing a timestamp that can be compared to other timestamps, but hads no guarantees for external value.

Definition at line 101 of file systemcalls.cpp.

Whole MEZZ_LIB Mezzanine::GetTimeStampResolution ( )

Get the resolution of the timestamp in microseconds. This is the smallest amount of time that the GetTimeStamp can accurately track.

Returns
A Whole which returns in millionths of a second the smallest unit of time that GetTimeStamp can measure.

Definition at line 108 of file systemcalls.cpp.

template<typename InterpolatableType >
SmoothTrackIterator<InterpolatableType>& Mezzanine::operator+ ( Integer  Steps,
SmoothTrackIterator< InterpolatableType > &  Iter 
)

This allows for addition with and an Integer on the Left hand side, such as: 2 + Iter.

Parameters
StepsThe Integer on the left.
IterThe SmoothTrackIterator on the right.

Definition at line 304 of file trackiterator.h.

template<typename InterpolatableType >
SmoothTrackIterator<InterpolatableType>& Mezzanine::operator- ( Integer  Steps,
SmoothTrackIterator< InterpolatableType > &  Iter 
)

This allows for subtraction with and an Integer on the Left hand side, such as: 2 + Iter.

Parameters
StepsThe Integer on the left.
IterThe SmoothTrackIterator on the right.

Definition at line 310 of file trackiterator.h.

template<class T >
std::ostream& Mezzanine::Serialize ( std::ostream &  Stream,
const T &  Converted,
const String &  Indent = String("") 
)

Convert any class that supports serialization or has a serializer to a string of chars in a stream.

Any Class will work with this template as long as it implements the method "XML::Node ProtoSerialize(XML::Document&) const"

Parameters
StreamThe ostream to put the serializable into.
ConvertedThe item to be serialized, which must have a "XML::Node ProtoSerialize(XML::Node& CurrentRoot) const" method.
IndentDefaults to nothing but can be set to "\t" to get normal
Returns
A the stream that was passed and now contains the serialized object.

Definition at line 412 of file serialization.h.

void Mezzanine::SerializeError ( const String &  FailedTo,
const String &  ClassName,
bool  SOrD 
)

Simply does some string concatenation, then throws an Exception.

Todo:
This may not be an appropriate type of exception to throw here, should evaluate if a new exception is needed at some point.
Parameters
FailedToWhat failed to happed for example "create testnode" or "acquire a mutex"
ClassNameThe name of the class throw the exception
SOrDDefaults to true, and if true uses the word "Serialization", otherwise uses the word "DeSerialization"
Exceptions
AMezzanine::Exception with the message "Could not {FailedTo} during {ClassName} [De]Serialization.""Could not {FailedTo} during {ClassName} [De]Serialization."

Definition at line 49 of file serialization.cpp.

template<class T >
void Mezzanine::SloppyProtoSerialize ( const T &  Converted,
XML::Node &  CurrentRoot 
)

Used to interface with a previous version of the serialization code.

The older serialization was implemented entirely in streaming operators. This uses those, however inneficient to get the XML::Node that the current serialization solution is centered around.

Parameters
ConvertedThe class implementing older serialization code.
CurrentRootThe place in the xml hiearchy to append the items to be sloppily ProtoSerialized.

Definition at line 445 of file serialization.h.

template<class T >
Boolean Mezzanine::ToBool ( const T &  Datum)

Converts whatever to a Boolean as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted
Returns
A Bool with the converted data

Definition at line 305 of file datatypes.h.

template<class T >
double Mezzanine::Todouble ( const T &  Datum)

Converts whatever to a double as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted.
Returns
A double with the converted data.

This exists for interacting with other libraies, in situations where changing the Typedefs could break things.

Definition at line 320 of file datatypes.h.

template<class T >
float Mezzanine::Tofloat ( const T &  Datum)

Converts whatever to a float as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted
Returns
A float with the converted data

This exists for interacting with other libraies, in situations where changing the Real Typedef could break things.

Definition at line 313 of file datatypes.h.

template<class T >
int Mezzanine::Toint ( const T &  Datum)

Converts whatever to an int as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted.
Returns
An int with the converted data.

This exists for interacting with other libraies, in situations where changing the Integer Typedef could break things.

Definition at line 285 of file datatypes.h.

template<class T >
Integer Mezzanine::ToInteger ( const T &  Datum)

Converts whatever to an Integer as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted.
Returns
An Integer with the converted data.

Definition at line 277 of file datatypes.h.

template<class T >
Real Mezzanine::ToReal ( const T &  Datum)

Converts whatever to a Real as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted.
Returns
A Real with the converted data.

Definition at line 299 of file datatypes.h.

template<class T >
String Mezzanine::ToString ( const T &  Datum)

Converts whatever to a String as long as a streaming operator is available for it.

Parameters
DatumThe whatever to be converted.
Returns
A String with the converted data.

Definition at line 260 of file datatypes.h.

template<class T >
unsigned int Mezzanine::Tounsignedint ( const T &  Datum)

Converts whatever to an unsigned int as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted.
Returns
An unsigned int with the converted data.

This exists for interacting with other libraies, in situations where changing the Integer Typedef could break things.

Definition at line 293 of file datatypes.h.

template<class T >
Whole Mezzanine::ToWhole ( const T &  Datum)

Converts whatever to a Whole as long as the proper streaming operators are available for it.

Parameters
DatumThe whatever to be converted.
Returns
A Whole with the converted data.

Definition at line 271 of file datatypes.h.