FUtils/FUtils.h File Reference

Includes the common utilities classes and macros. More...

#include "FUtils/Platforms.h"
#include "FUtils/FUAssert.h"
#include "FMath/FMath.h"
#include <libxml/tree.h>
#include "FUtils/FUObjectType.h"
#include "FUtils/FUObject.h"
#include "FUtils/FUTracker.h"
#include "FUtils/FUString.h"
#include "FUtils/FUCrc32.h"
#include "FUtils/FUDebug.h"
#include "FUtils/FUError.h"

Go to the source code of this file.

Defines

#define NOMINMAX
 Rid us of the default versions of MINMAX.
#define UNUSED(a)
 Removes a piece of code during the pre-process.
#define UNUSED_NDEBUG(a)
 Removes a piece of debug code during the pre-process.
#define HAS_VECTORTYPES
 Used by FCollada, implies that we are including all the common dynamically-sized arrays.
#define HAS_LIBXML
 Used by FCollada, implies that we are including LibXML functions in the library interface.
#define LIBXML_STATIC
 Used by LibXML, implies that we are statically-linking the LibXML.
#define SAFE_DELETE(ptr)   if ((ptr) != NULL) { delete (ptr); (ptr) = NULL; }
 This macro safely deletes a pointer and sets the given pointer to NULL.
#define SAFE_DELETE_ARRAY(ptr)   if (ptr != NULL) { delete [] ptr; ptr = NULL; }
 This macro safely deletes an heap array and sets the given pointer to NULL.
#define SAFE_FREE(ptr)   if (ptr != NULL) { free(ptr); ptr = NULL; }
 This macro safely frees a memory block and sets the given pointer to NULL.
#define SAFE_RELEASE(ptr)   { if ((ptr) != NULL) { (ptr)->Release(); (ptr) = NULL; } }
 This macro safely releases an interface and sets the given pointer to NULL.
#define CLEAR_POINTER_VECTOR(a)   { size_t l = (a).size(); for (size_t i = 0; i < l; ++i) SAFE_DELETE((a)[i]); (a).clear(); }
 This macro deletes all the object pointers contained within a vector and clears it.
#define CLEAR_ARRAY_VECTOR(a)   { size_t l = (a).size(); for (size_t i = 0; i < l; ++i) SAFE_DELETE_ARRAY((a)[i]); (a).clear(); }
 This macro deletes all the object array pointers contained within a vector and clears it.
#define CLEAR_POINTER_STD_PAIR_CONT(cont, a)   { for (cont::iterator it = (a).begin(); it != (a).end(); ++it) SAFE_DELETE((*it).second); (a).clear(); }
 This macro deletes all the object pointers contained within any std container and clears it.
#define CLEAR_POINTER_STD_CONT(cont, a)   { for (cont::iterator it = (a).begin(); it != (a).end(); ++it) SAFE_DELETE((*it)); (a).clear(); }
 This macro deletes all the object pointers contained within any std container and clears it.
#define ENABLE_TEST
 Used by FCollada, enables the compilation and gives access to the unit tests.

Functions

template<class T>
T & max (T &x, T &y)
 Retrieves the largest of two values.
template<class T>
const T & max (const T &x, const T &y)
 See above.
template<class T>
T & min (T &x, T &y)
 Retrieves the smallest of two values.
template<class T>
const T & min (const T &x, const T &y)
 See above.


Detailed Description

Includes the common utilities classes and macros.


Define Documentation

#define ENABLE_TEST
 

Used by FCollada, enables the compilation and gives access to the unit tests.

Disabled in the retail configurations.

#define UNUSED  ) 
 

Removes a piece of code during the pre-process.

This macro is useful for these pesky unused variable warnings.

#define UNUSED_NDEBUG  ) 
 

Removes a piece of debug code during the pre-process.

This macro is useful for these pesky unused variable warnings.


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