Installation

Installing the engine is simple, simply compile all files under src with your project and provide a copy of utfcpp.

Configuration

Custom string type

You can provide a custom string type by defining the UTTE_CUSTOM_STRING macro to be equal to the given type and the UTTE_CUSTOM_STRING_INCLUDE macro to be equal to the include path in quotes. It is defined like this:

#define UTTE_CUSTOM_STRING my_string
#define UTTE_CUSTOM_STRING_INCLUDE "my_string.h"

Make sure that your string class is fully compatible with standard C++ I/O streams and that it can be initialised with an std::string(usage of std::string in the library is rare but is needed in some places).

Custom map type

You can also provide a custom map type by defining the UTTE_CUSTOM_MAP macro to be equal to the given type and the UTTE_CUSTOM_MAP_INCLUDE to be equal to the include path in quotes. It is defined like this:

#define UTTE_CUSTOM_MAP my_map
#define UTTE_CUSTOM_MAP_INCLUDE "my_map.h"

Make sure that your map is defined using 2 template parameters like this:

template<typename T, typename T2>
class my_map
{
... // Your code here
}

Otherwise, our type definition will not work.

Exporting symbols when compiling a DLL

To export symbols when compiling a DLL, simply define the UVK_LOG_EXPORT_FROM_LIBRARY macro on all builds and the UVK_LIB_COMPILE macro when compiling the library.