TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_debug_tool_set.h
1 
11 #ifndef _TurtleBrains_DebugToolSet_h_
12 #define _TurtleBrains_DebugToolSet_h_
13 
14 // These defines control how the DebugToolSet works. Define these BEFORE including this header file.
15 //
16 // #define _DEBUG - By default this is what enables/disables the DebugToolSet
17 // #define tb_debug_tool_set_enable - Can be used to force the DebugToolSet during Release or other builds.
18 // #define tb_debug_tool_set_disable - Is used to disabled the DebugToolSet, regardless of _any_ other defines, including enable.
19 
20 #include "../tb_configuration.h"
21 
22 #ifdef tb_enable_debug_set
23  #define tb_use_debug_set
24 #endif /* tb_enable_debug_set */
25 
26 #ifndef tb_use_debug_set
27  #ifdef tb_debug_build
28  #define tb_use_debug_set
29  #endif /* tb_debug_build */
30 #endif /* tb_use_debug_set */
31 
32 #ifdef tb_disable_debug_set
33  #ifdef tb_use_debug_set
34  #undef tb_use_debug_set
35  #endif /* tb_use_debug_set */
36 #endif /* tb_disable_debug_set */
37 
42 
43 #ifdef tb_use_debug_set
44 
57  #define tb_debug_project_entry_point(entryPoint) TurtleBrains::Core::Debug::ProjectEntryPoint(entryPoint);
58 
76  #define tb_debug_project_entry_point_with(entryPoint, argumentCount, argumentValues) \
77  TurtleBrains::Core::Debug::ProjectEntryPoint(entryPoint, argumentCount, argumentValues);
78 #else //NO tb_use_debug_set
79  #define tb_debug_project_entry_point(entryPoint) entryPoint##()
80  #define tb_debug_project_entry_point_with(entryPoint, argumentCount, argumentValues) entryPoint(argumentCount, argumentValues)
81 #endif //tb_use_debug_set
82 
86 
87 namespace TurtleBrains
88 {
89  namespace Core
90  {
91  namespace Debug
92  {
93 
109  void ProjectEntryPoint(void (*entryPoint)(void));
110 
127  int ProjectEntryPoint(int (*entryPoint)(const int argumentCount, const char* argumentValues[]),
128  const int argumentCount, const char* argumentValues[]);
129 
130  }; /* namespace Debug */
131  }; /* namespace Core */
132 }; /* namespace TurtleBrains */
133 
134 #endif /* _TurtleBrains_DebugToolSet_h_ */
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21