TurtleBrains  0.3.1
High quality, portable, C++ framework for rapid 2D game development.
tb_debug_tool_set.h
1 
10 #ifndef _TurtleBrains_DebugToolSet_h_
11 #define _TurtleBrains_DebugToolSet_h_
12 
13 // These defines control how the DebugToolSet works. Define these BEFORE including this header file.
14 //
15 // #define tb_debug_build - By default this is what enables/disables the DebugToolSet
16 // #define tb_with_debug_set - Can be used to force the DebugToolSet during Release or other builds.
17 // #define tb_without_debug_set - Is used to disabled the DebugToolSet, regardless of _any_ other defines, including enable.
18 
19 #include "../tb_configuration.h"
20 
21 #ifdef tb_with_debug_set
22  #define tb_enable_debug_set
23 #endif /* tb_with_debug_set */
24 
25 #ifndef tb_enable_debug_set
26  #ifdef tb_debug_build
27  #define tb_enable_debug_set
28  #endif /* tb_debug_build */
29 #endif /* tb_enable_debug_set */
30 
31 #ifdef tb_without_debug_set
32  #ifdef tb_enable_debug_set
33  #undef tb_enable_debug_set
34  #endif /* tb_enable_debug_set */
35 #endif /* tb_without_debug_set */
36 
41 
42 #ifdef tb_enable_debug_set
43 
56  #define tb_debug_project_entry_point(entryPoint) TurtleBrains::Core::Debug::ProjectEntryPoint(entryPoint);
57 
75  #define tb_debug_project_entry_point_with(entryPoint, argumentCount, argumentValues) \
76  TurtleBrains::Core::Debug::ProjectEntryPoint(entryPoint, argumentCount, argumentValues);
77 #else //NO tb_enable_debug_set
78  #define tb_debug_project_entry_point(entryPoint) entryPoint##()
79  #define tb_debug_project_entry_point_with(entryPoint, argumentCount, argumentValues) entryPoint(argumentCount, argumentValues)
80 #endif //tb_enable_debug_set
81 
85 
86 namespace TurtleBrains
87 {
88  namespace Core
89  {
90  namespace Debug
91  {
92 
108  void ProjectEntryPoint(void (*entryPoint)(void));
109 
126  int ProjectEntryPoint(int (*entryPoint)(const int argumentCount, const char* argumentValues[]),
127  const int argumentCount, const char* argumentValues[]);
128 
129  }; /* namespace Debug */
130  }; /* namespace Core */
131 }; /* namespace TurtleBrains */
132 
133 #endif /* _TurtleBrains_DebugToolSet_h_ */
Here is some information about the primary namespace.
Definition: tb_application_dialog.h:21
void ProjectEntryPoint(void(*entryPoint)(void))