Skylicht Engine
Loading...
Searching...
No Matches
Utilities

Common helper classes for strings, paths, serialization streams, math, IDs, and data parsing. More...

Classes

class  Skylicht::IActivatorObject
 Base interface for objects created by CActivator. More...
class  Skylicht::CActivator
 Runtime factory that creates registered objects by type name. More...
class  Skylicht::CColor
 Utility functions for converting and parsing engine colors. More...
struct  Skylicht::SInterpolatorEntry
 One keyed interpolation value. More...
struct  Skylicht::SControlPoint
 Bezier control point used to generate interpolation graph entries. More...
class  Skylicht::CInterpolator
 Keyframe interpolator for scalar, vector, and color values. More...
class  Skylicht::CKDTree3f
 3D KD-tree for nearest-neighbor lookup of user data. More...
class  Skylicht::CMemoryStream
 In-memory byte stream for binary serialization and deserialization. More...
class  Skylicht::CPath
 Path manipulation helpers for engine resource and file paths. More...
class  Skylicht::CRandomID
 Helper for generating random hexadecimal IDs and deterministic hash IDs. More...
class  Skylicht::CStringImp
 Low-level string helper functions used by engine utilities. More...
class  Skylicht::CVector
 Common vector and quaternion math helpers. More...
class  Skylicht::CXMLSpreadsheet
 Reader for XML spreadsheet and CSV table data. More...
class  Skylicht::CXMLTableData
 Table adapter that maps spreadsheet rows to serializable objects. More...
class  Skylicht::CDateTimeUtils
 Utility functions for converting between date/time representations and seconds. More...

Macros

#define DECLARE_SINGLETON(className)
 Declare the standard singleton accessors for a class.
#define IMPLEMENT_SINGLETON(className)
 Implement the standard singleton storage and accessors for a class.

Detailed Description

Common helper classes for strings, paths, serialization streams, math, IDs, and data parsing.

Macro Definition Documentation

◆ DECLARE_SINGLETON

#define DECLARE_SINGLETON ( className)
Value:
static className* createGetInstance();\
static className* getInstance();\
static void releaseInstance();

Declare the standard singleton accessors for a class.

Adds createGetInstance, getInstance, and releaseInstance declarations. Use IMPLEMENT_SINGLETON in one source file to define the storage and functions.

Parameters
classNameClass type that owns the singleton instance.

◆ IMPLEMENT_SINGLETON

#define IMPLEMENT_SINGLETON ( className)
Value:
className* className##Instance = NULL;\
className* className::createGetInstance()\
{\
if (!className##Instance)\
className##Instance = new className();\
return className##Instance;\
}\
className* className::getInstance()\
{\
return className##Instance;\
}\
void className::releaseInstance()\
{\
if (className##Instance)\
{\
delete className##Instance;\
className##Instance = NULL;\
}\
}\
bool className##InstanceDeclare = true

Implement the standard singleton storage and accessors for a class.

This macro creates one process-wide raw pointer named from className, lazily allocates it in createGetInstance, returns it in getInstance, and deletes it in releaseInstance.

Parameters
classNameClass type previously declared with DECLARE_SINGLETON.