guts
gutsConventions.h
Go to the documentation of this file.
1 #ifndef GUTS_CONVENTIONS_H
2 #define GUTS_CONVENTIONS_H 1
3 
4 #include <string>
5 
9 #define UNINITIALIZEDNUMBERQUANTITY -123456
10 
14 #define UNINITIALIZEDSTRINGQUANTITY "na"
15 
16 // Exit codes for various error scenarios.
17 #define EC__FILENOTFOUND 301
18 #define EC__G4NUMBERERROR 302
19 
20 // ANSI color codes for terminal text formatting.
21 // These can be used to print colored text to the console.
22 
26 #define KBOLD "\x1B[1m"
27 
31 #define KRED "\x1B[31m"
32 
36 #define KGRN "\x1B[32m"
37 
41 #define KYEL "\x1B[33m"
42 
46 #define KBLU "\x1B[34m"
47 
51 #define KMAG "\x1B[35m"
52 
56 #define KCYN "\x1B[36m"
57 
61 #define KWHT "\x1B[37m"
62 
66 #define RST "\x1B[0m"
67 
68 // Macros for colored text formatting with reset
69 #define FRED(x) KRED x RST
70 #define FGRN(x) KGRN x RST
71 #define FYEL(x) KYEL x RST
72 #define FBLU(x) KBLU x RST
73 #define FMAG(x) KMAG x RST
74 #define FCYN(x) KCYN x RST
75 #define FWHT(x) KWHT x RST
76 
77 #define BOLD(x) KBOLD x RST
78 #define UNDL(x) "\x1B[4m" x RST
79 
80 #define FATALERRORL BOLD(FRED("Error: "))
81 #define GWARNING BOLD(FYEL("Warning: "))
82 
83 #define CONSTRUCTORLOG "↑"
84 #define DESTRUCTORLOG "↓"
85 
86 // List item symbols
87 #define POINTITEM "•"
88 #define CIRCLEITEM "◦"
89 #define SQUAREITEM "◻︎"
90 #define ARROWITEM "➤"
91 #define GREENPOINTITEM BOLD(FGRN(POINTITEM))
92 #define GREENCIRCLEITEM BOLD(FGRN(CIRCLEITEM))
93 #define GREENSQUAREITEM BOLD(FGRN(SQUAREITEM))
94 #define GREENARROWITEM BOLD(FGRN(ARROWITEM))
95 #define REDPOINTITEM BOLD(FRED(POINTITEM))
96 #define REDCIRCLEITEM BOLD(FRED(CIRCLEITEM))
97 #define REDSQUAREITEM BOLD(FRED(SQUAREITEM))
98 #define REDARROWITEM BOLD(FRED(ARROWITEM))
99 
100 // Tab spacing for indentation
101 #define GTAB " "
102 #define GTABTAB GTAB GTAB
103 #define GTABTABTAB GTAB GTAB GTAB
104 
105 // Single tab list items
106 #define TPOINTITEM GTAB POINTITEM
107 #define TCIRCLEITEM GTAB CIRCLEITEM
108 #define TSQUAREITEM GTAB SQUAREITEM
109 #define TARROWITEM GTAB ARROWITEM
110 #define TGREENPOINTITEM GTAB GREENPOINTITEM
111 #define TGREENCIRCLEITEM GTAB GREENCIRCLEITEM
112 #define TGREENSQUAREITEM GTAB GREENSQUAREITEM
113 #define TGREENARROWITEM GTAB GREENARROWITEM
114 #define TREDPOINTITEM GTAB REDPOINTITEM
115 #define TREDCIRCLEITEM GTAB REDCIRCLEITEM
116 #define TREDSQUAREITEM GTAB REDSQUAREITEM
117 #define TREDARROWITEM GTAB REDARROWITEM
118 
119 // Double tab list items
120 #define TTPOINTITEM GTABTAB POINTITEM
121 #define TTCIRCLEITEM GTABTAB CIRCLEITEM
122 #define TTSQUAREITEM GTABTAB SQUAREITEM
123 #define TTARROWITEM GTABTAB ARROWITEM
124 #define TTGREENPOINTITEM GTABTAB GREENPOINTITEM
125 #define TTGREENCIRCLEITEM GTABTAB GREENCIRCLEITEM
126 #define TTGREENSQUAREITEM GTABTAB GREENSQUAREITEM
127 #define TTGREENARROWITEM GTABTAB GREENARROWITEM
128 #define TTREDPOINTITEM GTABTAB REDPOINTITEM
129 #define TTREDCIRCLEITEM GTABTAB REDCIRCLEITEM
130 #define TTREDSQUAREITEM GTABTAB REDSQUAREITEM
131 #define TTREDARROWITEM GTABTAB REDARROWITEM
132 
133 // Highlight symbols
134 #define HHL "⏵"
135 #define HHR "⏴"
136 #define RSTHHR HHR RST
137 #define GREENHHL KGRN HHL
138 #define REDHHL KRED HHL
139 #define YELLOWHHL KYEL HHL
140 #define BOLDWHHL BOLD(HHL)
141 
150 void gexit(int error);
151 
157 void gLogClassConstruct(std::string className);
158 
164 void gLogCopyConstruct(std::string className);
165 
171 void gLogMoveConstruct(std::string className);
172 
178 void gLogClassDestruct(std::string className);
179 
187 void gLogMessage(std::string message);
188 
189 #endif // GUTS_CONVENTIONS_H
void gLogClassConstruct(std::string className)
Logs the construction of a class instance.
void gLogClassDestruct(std::string className)
Logs the destruction of a class instance.
void gLogCopyConstruct(std::string className)
Logs the copy construction of a class instance.
void gLogMessage(std::string message)
Logs a message.
void gexit(int error)
Thread-safe exit function with error code.
void gLogMoveConstruct(std::string className)
Logs the move construction of a class instance.