Squid::Tasks 1.0.0
C++14 coroutine-based task library for games
TasksConfig.h
1#pragma once
2
3// Squid::Tasks version (major.minor.patch)
4#define SQUID_TASKS_VERSION_MAJOR 1
5#define SQUID_TASKS_VERSION_MINOR 0
6#define SQUID_TASKS_VERSION_PATCH 0
7
11
13#ifndef SQUID_ENABLE_TASK_DEBUG
14#define SQUID_ENABLE_TASK_DEBUG 1
15#endif
16
18#ifndef SQUID_ENABLE_DOUBLE_PRECISION_TIME
19#define SQUID_ENABLE_DOUBLE_PRECISION_TIME 0
20#endif
21
23#ifndef SQUID_ENABLE_NAMESPACE
24#define SQUID_ENABLE_NAMESPACE 0
25#endif
26
28#ifndef SQUID_USE_EXCEPTIONS
29#define SQUID_USE_EXCEPTIONS 0
30#endif
31
33#ifndef SQUID_ENABLE_GLOBAL_TIME
34// ***************
35// *** WARNING ***
36// ***************
37// It is generally inadvisable for game projects to define a global task time, as it assumes there is only a single time-stream.
38// Within game projects, there is usually a "game time" and "real time", as well as others (such as "audio time", "unpaused time").
39// Furthermore, in engines such as Unreal, a non-static world context object must be provided.
40
41// To enable global task time, user must *also* define a GetGlobalTime() implementation (otherwise there will be a linker error)
42#define SQUID_ENABLE_GLOBAL_TIME 1
43#endif
44
46
47//--- C++17/C++20 Compatibility ---//
48#include "Private/TasksCommonPrivate.h"