Spinning Topp Logo BlackTopp Studios
inc
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
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.
 
 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.
 
 Network
 This namespace is for all the classes belonging to the Network Subsystem.
 
 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.
 
 Testing
 This contains all the items (except the tests themselves) that make the unit tests work.
 
 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...
 
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  Circle
 A generic circle class for geometry calculations. 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...
 
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  Entresol
 This is the main entry point for the entire library. More...
 
class  EntresolManager
 This is the base class for all managers that do no describe properties of a single world, but rather engine-wide functionality. More...
 
class  EntresolManagerFactory
 This is a base class for factories that construct managers used by the Entresol class. 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  ExceptionBase
 This is the exception thrown by most Mezzanine systems that can throw exceptions. More...
 
struct  ExceptionFactory
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ArithmeticException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< DirectoryException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< DirectoryNotFoundException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< DirectoryPermissionException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< DirectoryReadException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< DirectoryWriteException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< FileException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< FileNotFoundException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< FilePermissionException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< FileReadException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< FileWriteException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InstanceIdentityDuplicateException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InstanceIdentityException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InstanceIdentityInvalidException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InstanceIdentityNotFoundException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InternalException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InvalidAssignment::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InvalidStateException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< InvalidVersionException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< IOException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< IOReadException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< IOWriteException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< MemoryManagementException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< MemoryOutOfBoundsException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NetworkException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NetworkNotFoundException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NetworkPermissionException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NetworkReadException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NetworkURLException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NetworkWriteException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< NotImplementedException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< OutOfMemoryException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ParametersCastException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ParametersException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ParametersRangeException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< RenderingAPIException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< RuntimeAssertionException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ScriptException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ScriptLuaErrErrException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ScriptLuaException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ScriptLuaRuntimeException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< ScriptLuaYieldException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< SyntaxErrorException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< SyntaxErrorLuaException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< SyntaxErrorXMLException::ExceptionCode >
 Template class that serves as the base for exception factories. More...
 
struct  ExceptionFactory< SyntaxErrorXPathException::ExceptionCode >
 Template class that serves as the base for exception factories. 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  FunctorEventSubscriber
 Basic class definition for functors used by a FunctorSubscriberSlot. More...
 
class  FunctorSubscriberSlot
 This is a subscriber slot class that makes the appropriate call on a functor. 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  HashedString32
 An identifier that compares as fast as an integer but has a string. 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  Interval
 This class will generate keep track of a pool of unique 32-bit ID's that can be used for distinct object instances. 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
 Thrown 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  LineSegment2D
 A geometry math class for expressing a line connecting 2 points in 2D space. More...
 
class  LineSegment3D
 A geometry math class for expressing a line connecting 2 points in 3D space. 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  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  RectBase
 A class for tracking a rectangle by tracking two corners Top, Left and Right, Bottom. 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< EventArguments >
 This is a metaprogramming traits class used by EventArguments. 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::Lua::Lua51BoolArgument >
 Marks Lua51BoolArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::Lua51IntegerArgument >
 Marks Lua51IntegerArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::Lua51NilArgument >
 Marks Lua51NilArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::Lua51RealArgument >
 Marks Lua51RealArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::Lua51Script >
 Marks Lua51Script for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::Lua51StringArgument >
 Marks Lua51StringArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::Lua51WholeArgument >
 Marks Lua51WholeArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::Lua::LuaArgument >
 Marks LuaArgument for internal reference counting if a CountedPtr checks. More...
 
class  ReferenceCountTraits< Scripting::ScriptArgumentGeneric< Boole > >
 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  ReferenceCountTraits< UI::ActionEventArguments >
 This is a metaprogramming traits class used by ActionEventArguments. More...
 
class  ReferenceCountTraits< UI::ChildSelectedArguments >
 This is a metaprogramming traits class used by ChildFocusEventArguments. More...
 
class  ReferenceCountTraits< UI::ScrollbarValueChangedArguments >
 This is a metaprogramming traits class used by ScrollbarValueChangedArguments. More...
 
class  ReferenceCountTraits< UI::SpinnerValueChangedArguments >
 This is a metaprogramming traits class used by SpinnerValueChangedArguments. More...
 
class  ReferenceCountTraits< UI::WidgetEventArguments >
 This is a metaprogramming traits class used by WidgetEventArguments. More...
 
class  RenderingAPIException
 Thrown when the graphics card/DirectX/OpenGL fail. 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  SemanticVersion
 A Version class matching the Semantic Version specification. More...
 
class  Serializer
 A tool for serializing classes with specific issues serializing. More...
 
class  SimpleVersion
 A very basic class for expressing an API or syntax version. More...
 
class  Singleton
 This is a convenience 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  SortedVector
 
class  Sphere
 This is a generic sphere class used for spacial queries. More...
 
class  StateMachine
 
class  StateTransition
 
class  StateTransitionAction
 
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 basic timer class to assist in timed operations. More...
 
class  Track
 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  Triangle2D
 A geometry math class for expressing a triangle in 2D space. More...
 
class  Triangle3D
 A geometry math class for expressing a triangle in 3D space. More...
 
class  UIDGenerator
 This class will generate keep track of a pool of unique 32-bit ID's that can be used for distinct object instances. More...
 
class  Vector2
 This is used to represent a point on a 2 dimentional area, such as a screen. More...
 
class  Vector2LengthCompare
 A compare fuctor that uses vector length. More...
 
class  Vector3
 This is used to represent a point in space, or a vector through space. More...
 
class  Vector3LengthCompare
 A compare fuctor that uses vector length. More...
 
class  WeightedRollingAverage
 A weighted average that does math with every insertion and stores nothing. 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  WorldManagerFactory
 This is a base class for factories that construct managers used by the World class. 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 Boole
 Generally acts a single bit, true or false. More...
 
typedef char Char8
 A datatype to represent one character. More...
 
typedef Input::MetaCode::ConstMetaCodeIterator ConstMetaCodeIterator
 Const Iterator type for convenient MetaCode storage.
 
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 CountedPtr< EventArgumentsEventArgumentsPtr
 Convenience typedef for passing around EventArguments.
 
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 Input::MetaCode::MetaCodeContainer MetaCodeContainer
 Convenience datatype for storage of MetaCodes.
 
typedef Input::MetaCode::MetaCodeIterator MetaCodeIterator
 Iterator type for convenient MetaCode storage.
 
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 considerably moreso, perhaps Doubly precise.

This type might be poorly aligned but very precise.
 
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 RectBase< RealRealRect
 Convenience type for a Rect using Real numbers.
 
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 RectBase< WholeWholeRect
 Convenience type for a Rect using Whole numbers.
 
typedef std::wstring WideString
 A wide version of the String typedef. More...
 

Enumerations

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  CountMode { CM_CountUp = 1, CM_CountDown = 2 }
 A simple enum describing how the timer should increment time. 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 = ( 1u << 0 ), PL_PauseParticles = ( 1u << 1 ), PL_PauseAnimations = ( 1u << 2 ),
  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.
 
enum  StandardAxis {
  Axis_Invalid = -1, Axis_X = 0, Axis_Min = Axis_X, Axis_Y = 1,
  Axis_Z = 2, Axis_Max = Axis_Y
}
 Used to identify different Axis in a 3d coordinate system. More...
 
enum  TimeFormat {
  TF_RawMicro = 1, TF_RawMilli = 2, TF_Seconds = 3, TF_SecondsMilli = 4,
  TF_MinutesSeconds = 5
}
 An enum describing how the text output of a timer should be formatted. 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 = ( 1u << 0 ), WO_MeshTerrain = ( 1u << 0 ), WO_HeightfieldTerrain = ( 1u << 1 ), WO_VectorFieldTerrain = ( 1u << 2 ),
  WO_VoxelTerrain = ( 1u << 3 ), WO_MarchingCubeTerrain = ( 1u << 4 ), WO_UnknownTerrain = ( 1u << 5 ), WO_TerrainLast = ( 1u << 5 ),
  WO_DebrisFirst = ( 1u << 6 ), WO_DebrisRigid = ( 1u << 6 ), WO_DebrisSoft = ( 1u << 7 ), WO_DebrisUnknown = ( 1u << 8 ),
  WO_DebrisLast = ( 1u << 8 ), WO_AreaEffectFirst = ( 1u << 9 ), WO_AreaEffectGravityField = ( 1u << 9 ), WO_AreaEffectGravityWell = ( 1u << 10 ),
  WO_AreaEffectFieldOfForce = ( 1u << 11 ), WO_AreaEffectPlaceHolder1 = ( 1u << 12 ), WO_AreaEffectPlaceHolder2 = ( 1u << 13 ), WO_AreaEffectUnknown = ( 1u << 14 ),
  WO_AreaEffectLast = ( 1u << 14 ), WO_ActorFirst = ( 1u << 15 ), WO_ActorPlaceHolder1 = ( 1u << 15 ), WO_ActorPlaceHolder2 = ( 1u << 16 ),
  WO_ActorPlaceHolder3 = ( 1u << 17 ), WO_ActorLast = ( 1u << 17 ), WO_VehicleFirst = ( 1u << 18 ), WO_VehiclePlaceHolder1 = ( 1u << 18 ),
  WO_VehiclePlaceHolder2 = ( 1u << 19 ), WO_VehiclePlaceHolder3 = ( 1u << 20 ), WO_VehiclePlaceHolder4 = ( 1u << 21 ), WO_VehiclePlaceHolder5 = ( 1u << 22 ),
  WO_VehicleLast = ( 1u << 22 )
}
 Used by various classes to help identify what class an object is. More...
 

Functions

template<class Iter , class T >
Iter binary_find (Iter begin, Iter end, T val)
 Search throught an iterator range and return the desired iterator. More...
 
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, Boole 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 logical 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...
 
Mezzanine::Vector3 operator* (const btVector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Multiplication Operator for Bullet Vectors with a Mezzanine::Vector3. More...
 
Mezzanine::Vector3 operator* (const Ogre::Vector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Multiplication Operator for Ogre Vectors with a Mezzanine::Vector3. 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...
 
Mezzanine::Vector3 operator+ (const btVector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Addition Operator for Bullet Vectors with a Mezzanine::Vector3. More...
 
Mezzanine::Vector3 operator+ (const Ogre::Vector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Addition Operator for Ogre Vectors with a Mezzanine::Vector3. 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...
 
Mezzanine::Vector3 operator- (const btVector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Subtraction Operator for Bullet Vectors with a Mezzanine::Vector3. More...
 
Mezzanine::Vector3 operator- (const Ogre::Vector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Subtraction Operator for Ogre Vectors with a Mezzanine::Vector3. More...
 
Mezzanine::Vector3 operator/ (const btVector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Division Operator for Bullet Vectors with a Mezzanine::Vector3. More...
 
Mezzanine::Vector3 operator/ (const Ogre::Vector3 &Vec, const Mezzanine::Vector3 &lhs)
 Right Hand Division Operator for Ogre Vectors with a Mezzanine::Vector3. More...
 
std::ostream & operator<< (std::ostream &stream, const Mezzanine::HashedString32 &x)
 Send a HashedString32 down a stream serialized. More...
 
std::ostream & operator<< (std::ostream &stream, const Mezzanine::Vector3 &x)
 Used to Serialize an Mezzanine::Vector3 to a human readable stream. More...
 
Ogre::Vector3 & operator<< (Ogre::Vector3 &VecTo, const Mezzanine::Vector3 &VecFrom)
 Conversion Assignment Operator to Ogre::Vector3. More...
 
Ogre::Vector3 & operator<< (Ogre::Vector3 &VecTo, const btVector3 &VecFrom)
 Conversion Assignment Operator to Ogre::Vector3. More...
 
btVector3 & operator<< (btVector3 &VecTo, const Ogre::Vector3 &VecFrom)
 Conversion Assignment Operator to btVector3. More...
 
btVector3 & operator<< (btVector3 &VecTo, const Mezzanine::Vector3 &VecFrom)
 Conversion Assignment Operator to btVector3. More...
 
Mezzanine::Vector3operator<< (Mezzanine::Vector3 &VecTo, const Ogre::Vector3 &VecFrom)
 Conversion Assignment Operator to Mezzanine::Vector3. More...
 
Mezzanine::Vector3operator<< (Mezzanine::Vector3 &VecTo, const btVector3 &VecFrom)
 Conversion Assignment Operator to Mezzanine::Vector3. More...
 
std::istream & operator>> (std::istream &stream, Mezzanine::Vector3 &Vec)
 Used to de-serialize an Mezzanine::Vector3 from a stream. More...
 
void operator>> (const Mezzanine::XML::Node &OneNode, Mezzanine::Vector3 &Vec)
 Converts an XML node into a Mezzanine::Vector3. More...
 
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, Boole 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 >
Boole ToBool (const T &Datum)
 Converts whatever to a Boole 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...
 

Variables

return Ret
 

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.

Throw some #IF SDL or whatever, in case we want to use different libraries clipboard

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 BlackTopp Studios Documentation 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

typedef bool Mezzanine::Boole

Generally acts a single bit, true or false.

Normally just a bool, but on some platform alignment matters more than size, so this could be as large as one cpu word in size.

Definition at line 173 of file datatypes.h.

typedef char Mezzanine::Char8

A datatype to represent one character.

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

Definition at line 169 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 165 of file datatypes.h.

typedef int Mezzanine::Integer

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 154 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 180 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 190 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 206 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 209 of file datatypes.h.

typedef SDL_Event Mezzanine::RawEvent

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 219 of file datatypes.h.

typedef float Mezzanine::Real

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.

This type will be word aligned and fast

Definition at line 141 of file datatypes.h.

typedef std::string Mezzanine::String

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 159 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 195 of file datatypes.h.

typedef unsigned long Mezzanine::Whole

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 151 of file datatypes.h.

typedef std::wstring Mezzanine::WideString

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 162 of file datatypes.h.

Enumeration Type Documentation

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

A simple enum describing how the timer should increment time.

Enumerator
CM_CountUp 

The timer counts up, meaning the Timer current time is showing time elapsed.

CM_CountDown 

The timer counts down, meaning the Timer current time is showing remaining time.

Definition at line 58 of file timer.h.

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

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 66 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 an error value.

Axis_X 

X axis.

Axis_Min 

For mathematical shortcuts this can be used as the lower limit for valid axis.

Axis_Y 

Y axis.

Axis_Z 

Z axis.

Axis_Max 

For mathematical shortcuts this can be used as the upper limit.

Definition at line 119 of file enumerations.h.

An enum describing how the text output of a timer should be formatted.

Enumerator
TF_RawMicro 

Outputs the current time in microseconds.

TF_RawMilli 

Outputs the current time in milliseconds.

TF_Seconds 

Outputs the current time in seconds.

TF_SecondsMilli 

Outputs the current time in "seconds.milliseconds". Milliseconds are out to 3 digits.

TF_MinutesSeconds 

Outputs the current time in "minutes:seconds".

Definition at line 48 of file timer.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 138 of file enumerations.h.

Used by various classes to help identify what class an object is.

This enum can be used to express any object which could be considered "insertable" into the game world.

Definition at line 147 of file enumerations.h.

Function Documentation

template<class Iter , class T >
Iter Mezzanine::binary_find ( Iter  begin,
Iter  end,
val 
)

Search throught an iterator range and return the desired iterator.

Thanks to stack overflow and their CC-by-SA license which is written permission to use this. http://stackoverflow.com/questions/446296/where-can-i-get-a-useful-c-binary-search-algorithm

Parameters
beginThe beginning of the iterator range.
endOne past the end of the actual iterators.
valThe value to find.
Template Parameters
IterAn iterator type.
TThe type of the value the iterator points to.
Returns
The end iterator if nothing was found or the iterator found by value.

Definition at line 61 of file sortedvector.h.

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

Template Parameters
ReturnTypeThe type to be returned, must be specified
OtherPointerTargetTypeThe type of the provided pointer, this can be infered and should not be provided.
Parameters
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.

Template Parameters
ReturnTypeThe type to be returned, must be specified
OtherPointerTargetTypeThe type of the provided pointer, this can be infered and should not be provided.
Parameters
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.

Template Parameters
PointerThe only type of pointers involved.
Parameters
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.

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

Template Parameters
ReturnTypeThe type to be returned, must be specified
OtherPointerTargetTypeThe type of the provided pointer, this can be infered and should not be provided.
Parameters
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 GetSerializableName() 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,
Boole  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 logical 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.

Mezzanine::Vector3 Mezzanine::operator* ( const btVector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Multiplication Operator for Bullet Vectors with a Mezzanine::Vector3.

Parameters
VecThe Bullet Vector to be multiplied.
lhsThe Mezzanine::Vector3 to be multiplied.
Returns
A Mezzanine::Vector3 with the product.

Definition at line 651 of file vector3.cpp.

Mezzanine::Vector3 Mezzanine::operator* ( const Ogre::Vector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Multiplication Operator for Ogre Vectors with a Mezzanine::Vector3.

Parameters
VecThe Ogre Vector to be multiplied.
lhsThe Mezzanine::Vector3 to be multiplied.
Returns
A Mezzanine::Vector3 with the product.

Definition at line 660 of file vector3.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.

Mezzanine::Vector3 Mezzanine::operator+ ( const btVector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Addition Operator for Bullet Vectors with a Mezzanine::Vector3.

Parameters
VecThe Bullet Vector to be added.
lhsThe Mezzanine::Vector3 to be added.
Returns
A Mezzanine::Vector3 with the Sum.

Definition at line 647 of file vector3.cpp.

Mezzanine::Vector3 Mezzanine::operator+ ( const Ogre::Vector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Addition Operator for Ogre Vectors with a Mezzanine::Vector3.

Parameters
VecThe Ogre Vector to be added.
lhsThe Mezzanine::Vector3 to be added.
Returns
A Mezzanine::Vector3 with the Sum.

Definition at line 656 of file vector3.cpp.

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 313 of file trackiterator.h.

Mezzanine::Vector3 Mezzanine::operator- ( const btVector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Subtraction Operator for Bullet Vectors with a Mezzanine::Vector3.

Parameters
VecThe Bullet Vector to be subtracted from.
lhsThe Mezzanine::Vector3 to be subtracted.
Returns
A Mezzanine::Vector3 with the difference.

Definition at line 649 of file vector3.cpp.

Mezzanine::Vector3 Mezzanine::operator- ( const Ogre::Vector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Subtraction Operator for Ogre Vectors with a Mezzanine::Vector3.

Parameters
VecThe Ogre Vector to be subtracted from.
lhsThe Mezzanine::Vector3 to be subtracted.
Returns
A Mezzanine::Vector3 with the difference.

Definition at line 658 of file vector3.cpp.

Mezzanine::Vector3 Mezzanine::operator/ ( const btVector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Division Operator for Bullet Vectors with a Mezzanine::Vector3.

Parameters
VecThe Bullet Vector to be divided by.
lhsThe Mezzanine::Vector3 to be divided.
Returns
A Mezzanine::Vector3 with the results

Definition at line 653 of file vector3.cpp.

Mezzanine::Vector3 Mezzanine::operator/ ( const Ogre::Vector3 &  Vec,
const Mezzanine::Vector3 lhs 
)

Right Hand Division Operator for Ogre Vectors with a Mezzanine::Vector3.

Parameters
VecThe Ogre Vector to be divided by.
lhsThe Mezzanine::Vector3 to be divided.
Returns
A Mezzanine::Vector3 with the results

Definition at line 662 of file vector3.cpp.

std::ostream & Mezzanine::operator<< ( std::ostream &  stream,
const Mezzanine::HashedString32 x 
)

Send a HashedString32 down a stream serialized.

Parameters
streamThe std::ostream to send it down.
xThe HashedString32 to Send

Definition at line 164 of file hashedstring.cpp.

std::ostream & Mezzanine::operator<< ( std::ostream &  stream,
const Mezzanine::Vector3 x 
)

Used to Serialize an Mezzanine::Vector3 to a human readable stream.

The current XML format will create one node with no child nodes. The name of the xml node will be "Vector3". It will have 4 attributes. "Version", will be set to a value of 1, indicating if came from version 1 compatible Vector3. It will also have an "X", "Y" and "Z" attributes will values set appropriately. For example '<Vector3 version="1" x="1" y="2" z="3">'.

Parameters
xThe Mezzanine::Vector3 to be converted to characters.
streamThe place to send the characters, that define the Mezzanine::Vector3.
Returns
Get an std::ostream that was written to, this allow chaining of the << operators.

Definition at line 682 of file vector3.cpp.

Ogre::Vector3 & Mezzanine::operator<< ( Ogre::Vector3 &  VecTo,
const Mezzanine::Vector3 VecFrom 
)

Conversion Assignment Operator to Ogre::Vector3.

Parameters
VecToThe left hand side vector, is an Ogre::Vector3. The values of VecFrom will be copied here.
VecFromThe right hand side, is a\ Mezzanine::Vector3, this vector will be copied and unchanged.
Returns
An Ogre::Vector3 in case multiple operators are chainged together (not usually a good idea).

Definition at line 695 of file vector3.cpp.

Ogre::Vector3 & Mezzanine::operator<< ( Ogre::Vector3 &  VecTo,
const btVector3 &  VecFrom 
)

Conversion Assignment Operator to Ogre::Vector3.

Parameters
VecToThe left hand side vector, is an Ogre::Vector3. The values of VecFrom will be copied here.
VecFromThe right hand side, is a btVector3, this vector will be copied and unchanged.
Returns
An Ogre::Vector3 in case multiple operators are chainged together (not usually a good idea).

Definition at line 701 of file vector3.cpp.

btVector3 & Mezzanine::operator<< ( btVector3 &  VecTo,
const Ogre::Vector3 &  VecFrom 
)

Conversion Assignment Operator to btVector3.

Parameters
VecToThe left hand side vector, is an btVector3. The values of VecFrom will be copied here.
VecFromThe right hand side, is a Ogre::Vector3, this vector will be copied and unchanged.
Returns
An btVector3 in case multiple operators are chainged together (not usually a good idea).

Definition at line 709 of file vector3.cpp.

btVector3 & Mezzanine::operator<< ( btVector3 &  VecTo,
const Mezzanine::Vector3 VecFrom 
)

Conversion Assignment Operator to btVector3.

Parameters
VecToThe left hand side vector, is an btVector3. The values of VecFrom will be copied here.
VecFromThe right hand side, is a Mezzanine::Vector3, this vector will be copied and unchanged.
Returns
An btVector3 in case multiple operators are chainged together (not usually a good idea).

Definition at line 718 of file vector3.cpp.

Mezzanine::Vector3 & Mezzanine::operator<< ( Mezzanine::Vector3 VecTo,
const Ogre::Vector3 &  VecFrom 
)

Conversion Assignment Operator to Mezzanine::Vector3.

Parameters
VecToThe left hand side vector, is an Mezzanine::Vector3. The values of VecFrom will be copied here.
VecFromThe right hand side, is a Ogre::Vector3, this vector will be copied and unchanged.
Returns
An Mezzanine::Vector3 in case multiple operators are chainged together (not usually a good idea).

Definition at line 724 of file vector3.cpp.

Mezzanine::Vector3 & Mezzanine::operator<< ( Mezzanine::Vector3 VecTo,
const btVector3 &  VecFrom 
)

Conversion Assignment Operator to Mezzanine::Vector3.

Parameters
VecToThe left hand side vector, is an Mezzanine::Vector3. The values of VecFrom will be copied here.
VecFromThe right hand side, is a btVector3, this vector will be copied and unchanged.
Returns
An Mezzanine::Vector3 in case multiple operators are chainged together (not usually a good idea).

Definition at line 730 of file vector3.cpp.

std::istream & Mezzanine::operator>> ( std::istream &  stream,
Mezzanine::Vector3 Vec 
)

Used to de-serialize an Mezzanine::Vector3 from a stream.

This reads in the xml and sets the target vector according to values from the stream.

Parameters
VecThe Mezzanine::Vector3 that will accept the values from the xml
streamThe place to get the characters from, that define the Mezzanine::Vector3.
Returns
Get an std::ostream that was read from, this allow chaining of the >> operators.
Exceptions
Canthrow any exception that any function in the Mezzanine::xml namespace could throw in addition to a Mezzanine::Exception if the serialization version doesn't match.

Definition at line 689 of file vector3.cpp.

void Mezzanine::operator>> ( const Mezzanine::XML::Node OneNode,
Mezzanine::Vector3 Vec 
)

Converts an XML node into a Mezzanine::Vector3.

This will convert an XML::Node will a valid serialized Mezzanine::Vector3 into a Mezzanine::Vector3

Parameters
OneNodeAn XML Node containing the the text of a Vector3
Vecthe Mezzanine::Vector3 to store the deserialized Vector3
Returns
This returns a reference to the XML::Node for operator chaining or whatever.
Exceptions
Canthrow any exception that any function in the Mezzanine::xml namespace could throw in addition to a Mezzanine::Exception if the serialization version doesn't match.

Definition at line 692 of file vector3.cpp.

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,
Boole  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 >
Boole Mezzanine::ToBool ( const T &  Datum)

Converts whatever to a Boole 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 286 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 301 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 294 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 266 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 258 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 280 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 242 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 274 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 252 of file datatypes.h.