Utility Classes.


Namespaces

namespace  FUCrc32
 CRC-32 hashing functions.
namespace  FUXmlWriter
 Common XML writing utility functions.

Classes

class  FUBoundingBox
 An axis-aligned bounding box. More...
class  FUBoundingSphere
 A bounding sphere. More...
class  FUCriticalSection
 An OS dependent critical section. More...
class  FUDateTime
 A common date-time. More...
class  FUDebug
 A debugging logging facility. More...
class  FUError
 This class deals with error message generated by FCollada. More...
class  FUErrorSimpleHandler
 This class is used as an example of error-handling. More...
class  FUErrorLog
 An error log. More...
class  FUEvent0
 An event with no argument. More...
class  FUEvent1< Arg1 >
 An event with one argument. More...
class  FUEvent2< Arg1, Arg2 >
 An event with two argument. More...
class  FUEvent3< Arg1, Arg2, Arg3 >
 An event with three argument. More...
class  FUFile
 A cross-platform file. More...
class  IFunctor0< ReturnType >
 A functor with no arguments. More...
class  FUFunctor0< Class, ReturnType >
 A functor with no arguments. More...
class  FUStaticFunctor0< ReturnType >
 A pseudo-functor with no arguments, specialized for static functions. More...
class  IFunctor1< Arg1, ReturnType >
 A functor with one argument. More...
class  FUFunctor1< Class, Arg1, ReturnType >
 A functor with one arguments. More...
class  FUStaticFunctor1< Arg1, ReturnType >
 A pseudo-functor with one arguments, specialized for static functions. More...
class  IFunctor2< Arg1, Arg2, ReturnType >
 A functor with two arguments. More...
class  FUFunctor2< Class, Arg1, Arg2, ReturnType >
 A functor with two arguments. More...
class  FUStaticFunctor2< Arg1, Arg2, ReturnType >
 A pseudo-functor with two arguments, specialized for static functions. More...
class  IFunctor3< Arg1, Arg2, Arg3, ReturnType >
 A functor with three arguments. More...
class  FUFunctor3< Class, Arg1, Arg2, Arg3, ReturnType >
 A functor with three arguments. More...
class  FUStaticFunctor3< Arg1, Arg2, Arg3, ReturnType >
 A pseudo-functor with three arguments, specialized for static functions. More...
class  FULogFile
 A log file. More...
class  FUObject
 A basic object. More...
class  FUObjectOwner
 An object owner. More...
class  FUObjectRef< ObjectClass >
 An object reference On top of the tracked object pointer, when this reference is released: the tracked object is released. More...
class  FUObjectContainer< ObjectClass >
 A contained object list. More...
class  FUObjectType
 An object type. More...
class  FUParameterizable
 A trackable object which contains parameters. More...
class  FUPlugin
 A generic plug-in interface structure. More...
class  FUPluginManager
 A generic plug-in manager. More...
class  FUSemaphore
 An OS independent semaphore. More...
class  fm::stringT< CH >
 A string template. More...
class  FUStringBuilderT< Char >
 A dynamically-sized string object. More...
class  FUStringConversion
 Common string conversion. More...
class  FUSynchronizableObject
 A synchronizable object. More...
class  FUTestBed
 A test suite runner. More...
class  FUTestSuite
 A test suite. More...
class  FUThread
 An OS independent thread. More...
class  FUTrackable
 A trackable object. More...
class  FUTracker
 An object set Each set has access to a list of unique objects. More...
class  FUTrackedPtr< ObjectClass >
 A tracked object pointer The reverse idea of a smart pointer: if the object pointed to by the pointer is released, the pointer will become NULL. More...
class  FUTrackedList< ObjectClass >
 An object list. More...
class  FUUniqueStringMapT< CH >
 A set of unique strings. More...
class  FUUri
 A simple URI structure. More...

Defines

#define DeclareSingletonClass(_SingletonClass)
 A Singleton class.

Functions

template<class HigherClassType>
HigherClassType * DynamicCast (FUObject *object)
 Macros used to dynamically case a given FUObject pointer to some higher class object.

Define Documentation

#define DeclareSingletonClass _SingletonClass   ) 
 

Value:

private: \
    static _SingletonClass* singleton; \
public: \
    static _SingletonClass* CreateSingleton(); \
    static void DestroySingleton(); \
    static inline _SingletonClass* GetSingleton() { return singleton; } \
private:
A Singleton class.

Use these macros to easily implement singletons. A singleton is a class which has only one object of this class. The advantage of a singleton over a static class is that the application controls when and how the singleton is created and destroyed. The disadvantage of a singleton is that you have one extra memory lookup to do.

There are four functions created by the macro:

CreateSingleton: initializes the singleton. You will need to call this function before any attempts to access the singleton are made.

DestroySingleton: release the singleton. As with the singleton creation, this function needs to be called in the expected order.

GetSingleton: retrieves the singleton.


Generated on Thu Feb 14 16:58:42 2008 for FCollada by  doxygen 1.4.6-NO