8#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
9# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
24 module ALib.Camp.Base;
28# if !ALIB_SINGLE_THREADED
32 import ALib.Strings.Tokenizer;
34 import ALib.Strings.StdIOStream;
35 import ALib.Strings.Calendar;
36 import ALib.Strings.Tokenizer;
38 import ALib.EnumRecords.Bootstrap;
39 import ALib.Exceptions;
41 import ALib.Variables;
42 import ALib.Variables.IniFile;
44 import ALib.ThreadModel;
47 import ALib.BitBuffer;
50 import ALib.Format.StdImplementation;
51 import ALib.Format.FormatterPythonStyle;
52 import ALib.Format.FormatterJavaStyle;
57# if !ALIB_SINGLE_THREADED
90 #if ALIB_DEBUG && !ALIB_DEBUG_ASSERTION_PRINTABLES
92 "Instances of class Basecamp must not be created. Use singleton alib::BASECAMP" )
101#if !ALIB_CAMP_OMIT_DEFAULT_RESOURCES
106 "Alignment",
A_CHAR(
"0" "," "Left" "," "1" ","
107 "1" "," "Right" "," "1" ","
108 "2" "," "Center" "," "1" ),
110 "Bool",
A_CHAR(
"0" "," "False" "," "1" ","
111 "1" "," "True" "," "1" ","
112 "0" "," "0" "," "1" ","
113 "1" "," "1" "," "1" ","
114 "0" "," "No" "," "1" ","
115 "1" "," "Yes" "," "1" ","
116 "0" "," "Off" "," "2" ","
117 "1" "," "On" "," "2" ","
118 "0" "," "-" "," "1" ","
119 "1" "," "Ok" "," "2" ),
121 "Caching",
A_CHAR(
"0" "," "Disabled" "," "1" ","
122 "1" "," "Enabled" "," "1" ","
123 "1" "," "Auto" "," "1" ),
125 "Case",
A_CHAR(
"0" "," "Sensitive" "," "1" ","
126 "1" "," "Ignore" "," "1" ),
128 "ContainerOp",
A_CHAR(
"0" "," "Insert" "," "1" ","
129 "1" "," "Remove" "," "1" ","
130 "3" "," "GetCreate" "," "4" ","
131 "2" "," "Get" "," "1" ","
132 "4" "," "Create" "," "1" ),
137 "CurrentData",
A_CHAR(
"0" "," "Keep" "," "1" ","
138 "1" "," "Clear" "," "1" ),
140 "Inclusion",
A_CHAR(
"0" "," "Include" "," "1" ","
141 "1" "," "Exclude" "," "1" ),
143 "Initialization",
A_CHAR(
"0" "," "Suppress" "," "1" ","
144 "1" "," "Default" "," "1" ","
145 "2" "," "Nulled" "," "1" ","
146 "0" "," "None" "," "2" ","
147 "1" "," "Initialize" "," "1" ","
148 "2" "," "Zero" "," "1" ),
150 "LineFeeds",
A_CHAR(
"0" "," "None" "," "1" ","
151 "0" "," "Ignore" "," "1" ","
152 "1" "," "Unix" "," "1" ","
153 "2" "," "WindowsOS" "," "1" ","
154 "3" "," "Platform" "," "1" ),
156 "Phase",
A_CHAR(
"0" "," "Begin" "," "1" ","
157 "1" "," "End" "," "1" ),
159 "Propagation",
A_CHAR(
"0" "," "Omit" "," "1" ","
160 "1" "," "ToDescendants" "," "1" ),
162 "Reach",
A_CHAR(
"0" "," "Global" "," "1" ","
163 "1" "," "Local" "," "1" ),
167 "Responsibility",
A_CHAR(
"0" "," "KeepWithSender" "," "1" ","
168 "1" "," "Transfer" "," "1" ),
170 "Safeness",
A_CHAR(
"0" "," "Safe" "," "1" ","
171 "1" "," "Unsafe" "," "1" ),
173 "Side",
A_CHAR(
"0" "," "Left" "," "1" ","
174 "1" "," "Right" "," "1" ),
176 "SortOrder",
A_CHAR(
"0" "," "Ascending" "," "1" ","
177 "1" "," "Descending" "," "1" ),
179 "SourceData",
A_CHAR(
"0" "," "Copy" "," "1" ","
180 "1" "," "Move" "," "1" ),
182 "Switch",
A_CHAR(
"0" "," "Off" "," "2" ","
183 "1" "," "On" "," "2" ),
185 "Timezone",
A_CHAR(
"0" "," "Local" "," "1" ","
186 "1" "," "UTC" "," "1" ),
188 "Timing",
A_CHAR(
"0" "," "Async" "," "1" ","
189 "1" "," "Sync" "," "1" ","
190 "0" "," "Asynchronous" "," "1" ","
191 "1" "," "Synchronous" "," "1" ","
192 "1" "," "Synchronized" "," "1" ),
194 "ValueReference",
A_CHAR(
"0" "," "Absolute" "," "1" ","
195 "1" "," "Relative" "," "1" ),
197 "Whitespaces",
A_CHAR(
"0" "," "Trim" "," "1" ","
198 "1" "," "Keep" "," "1" ),
202 "TSts",
A_CHAR(
"0" "," "Unstarted" "," "1" ","
203 "1" "," "Started" "," "3" ","
204 "2" "," "Running" "," "1" ","
205 "3" "," "Done" "," "3" ","
206 "4" "," "Terminated" "," "1" ),
209 "TMDWP",
A_CHAR(
"0" "," "Lowest" "," "4" ","
210 "500" "," "DeferredDeletion" "," "1" ","
211 "1000" "," "Low" "," "1" ","
212 "2000" "," "Standard" "," "1" ","
213 "4000" "," "Highest" "," "5" ","
214 "3000" "," "High" "," "1" ),
221 "VARE<",
A_CHAR(
"variables::"),
222 "VARE" ,
A_CHAR(
"0" "," "OK" "," "" ","
223 "1" "," "ErrorOpeningFile" "," "VARERF" ","
224 "2" "," "ErrorWritingFile" "," "VAREWF" ),
226 "VARERF",
A_CHAR(
"Can't open {}file {!Q'} for reading.") ,
227 "VAREWF",
A_CHAR(
"Can't open {}file {!Q'} for writing.") ,
230 "VarPrio",
A_CHAR(
"0" "," "NONE" ",1,"
231 "1000" "," "AutoDetected" ",1,"
232 "2000" "," "DefaultValues" ",1,"
233 "4000" "," "Standard" ",1,"
234 "6000" "," "ConfigFile" ",2,"
235 "8000" "," "Environment" ",1,"
236 "10000" "," "SessionFile" ",8,"
237 "12000" "," "CLI" ",2,"
238 "14000" "," "Session" ",2,"
239 "max" "," "Protected" ",1" ),
242 "CFGPlgEnv" ,
A_CHAR(
"Environment Variables") ,
243 "CFGPlgCLI" ,
A_CHAR(
"Command Line Arguments") ,
245 "CFGIniWB" ,
A_CHAR(
"writeback") ,
256DOX_MARKER([DOX_VARIABLES_DECLARATION6])
257"Var0",
A_CHAR(
"1|ALIB/LOCALE|" "S" ),
258"Var1",
A_CHAR(
"2|ALIB/WAIT_FOR_KEY_PRESS|" "B" ),
259"Var2",
A_CHAR(
"3|ALIB/HAS_CONSOLE_WINDOW|" "B" ),
261"Var_C1",
A_CHAR(
"Defines the locale of the application. If empty or not set, the system's locale is used.\n"
262 "If set, a UTF8 locale should be used, for example, 'us_US.UTF-8' or 'de_DE.UTF-8'" ),
263"Var_C2",
A_CHAR(
"If true, the process waits for a key stroke on termination. If empty, under Windows" "\n"
264 "behavior is detected, under other OSes, defaults to false." ),
265"Var_C3",
A_CHAR(
"Boolean value that denotes what its name indicates. If empty, under Windows value is " "\n"
266 "detected, under other OSes, defaults to true." ),
267DOX_MARKER([DOX_VARIABLES_DECLARATION6])
271 "INI_CMT_ALIB",
A_CHAR(
"@>'/// '@HL-General ALib library settings.\n@HL-"),
274 "EXIT_MSG" ,
A_CHAR(
"ALIB: Press 'Enter' to exit..." ),
277 "ACAlgos" ,
A_CHAR(
"0" ",NONE" "," "1" ","
278 "31" ",ALL" "," "1" ","
279 "1" ",Uncompressed" "," "1" ","
280 "2" ",MinMax" "," "1" ","
281 "4" ",Sparse" "," "1" ","
282 "8" ",VerySparse" "," "1" ","
283 "16" ",Incremental" "," "1" ","
284 "32" ",Huffman" "," "1" ),
288 "Months" ,
A_CHAR(
"January,February,March,April,May,June,July,August,September,October,November,December")
289 ,
"Days" ,
A_CHAR(
"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,") EOS
291 "DurUnts" ,
A_CHAR(
"zero time" ","
307 "FMTDT" ,
A_CHAR(
"yyyy-MM-dd HH:mm:ss"),
308 "FMTCI" ,
A_CHAR(
"[@ sf:sl from ''ya'' by ''ta'']"),
309 "FMTCINT",
A_CHAR(
"<None>"),
310 "FMTCINY",
A_CHAR(
"<None>"),
311 "FMTCINR",
A_CHAR(
"<Null>"),
314 "SF",
A_CHAR(
"0,Root" ",1,"
320 "6,VarTemp" ",1" ) EOS
323 #
if defined (__GLIBC__) || defined(__APPLE__)
324 "SE<" ,
A_CHAR(
"glibc::" ),
325 "OSERR" ,
A_CHAR(
"GNU-C Library call returned {!Q} ({})."),
326 "UknSE" ,
A_CHAR(
"GNU-C Library call returned ({}). (Unknown error number)"),
327 #elif defined(_WIN32)
328 "SE<" ,
A_CHAR(
"WindowsOS::" ),
329 "OSERR" ,
A_CHAR(
"Windows system call returned {!Q} ({})."),
330 "UknSE" ,
A_CHAR(
"Windows system call returned ({}). (Unknown error number)"),
334 A_CHAR(
"-1" "," "UNKNOWN" "," "UknSE" "," )
335 A_CHAR(
"0" "," "OK" "," "," )
337#
if defined (__GLIBC__) || defined(__APPLE__) || defined(__ANDROID_NDK__)
338 A_CHAR(
"1" "," "EPERM" "," "OSERR" ","
339 "2" "," "ENOENT" "," "OSERR" ","
340 "3" "," "ESRCH" "," "OSERR" ","
341 "4" "," "EINTR" "," "OSERR" ","
342 "5" "," "EIO" "," "OSERR" ","
343 "6" "," "ENXIO" "," "OSERR" ","
344 "7" "," "E2BIG" "," "OSERR" ","
345 "8" "," "ENOEXEC" "," "OSERR" ","
346 "9" "," "EBADF" "," "OSERR" ","
347 "10" "," "ECHILD" "," "OSERR" ","
348 "11" "," "EAGAIN" "," "OSERR" ","
349 "12" "," "ENOMEM" "," "OSERR" ","
350 "13" "," "EACCES" "," "OSERR" ","
351 "14" "," "EFAULT" "," "OSERR" ","
352 "15" "," "ENOTBLK" "," "OSERR" ","
353 "16" "," "EBUSY" "," "OSERR" ","
354 "17" "," "EEXIST" "," "OSERR" ","
355 "18" "," "EXDEV" "," "OSERR" ","
356 "19" "," "ENODEV" "," "OSERR" ","
357 "20" "," "ENOTDIR" "," "OSERR" ","
358 "21" "," "EISDIR" "," "OSERR" ","
359 "22" "," "EINVAL" "," "OSERR" ","
360 "23" "," "ENFILE" "," "OSERR" ","
361 "24" "," "EMFILE" "," "OSERR" ","
362 "25" "," "ENOTTY" "," "OSERR" ","
363 "26" "," "ETXTBSY" "," "OSERR" ","
364 "27" "," "EFBIG" "," "OSERR" ","
365 "28" "," "ENOSPC" "," "OSERR" ","
366 "29" "," "ESPIPE" "," "OSERR" ","
367 "30" "," "EROFS" "," "OSERR" ","
368 "31" "," "EMLINK" "," "OSERR" ","
369 "32" "," "EPIPE" "," "OSERR" ","
370 "33" "," "EDOM" "," "OSERR" ","
371 "34" "," "ERANGE" "," "OSERR" ","
372 "35" "," "EDEADLK" "," "OSERR" ","
373 "36" "," "ENAMETOOLONG" "," "OSERR" ","
374 "37" "," "ENOLCK" "," "OSERR" ","
375 "38" "," "ENOSYS" "," "OSERR" ","
376 "39" "," "ENOTEMPTY" "," "OSERR" ","
377 "40" "," "ELOOP" "," "OSERR" ","
378 "42" "," "ENOMSG" "," "OSERR" ","
379 "43" "," "EIDRM" "," "OSERR" "," )
380#
if !defined(__APPLE__)
381 A_CHAR(
"44" "," "ECHRNG" "," "OSERR" ","
382 "45" "," "EL2NSYNC" "," "OSERR" ","
383 "46" "," "EL3HLT" "," "OSERR" ","
384 "47" "," "EL3RST" "," "OSERR" ","
385 "48" "," "ELNRNG" "," "OSERR" ","
386 "49" "," "EUNATCH" "," "OSERR" ","
387 "50" "," "ENOCSI" "," "OSERR" ","
388 "51" "," "EL2HLT" "," "OSERR" ","
389 "52" "," "EBADE" "," "OSERR" ","
390 "53" "," "EBADR" "," "OSERR" ","
391 "54" "," "EXFULL" "," "OSERR" ","
392 "55" "," "ENOANO" "," "OSERR" ","
393 "56" "," "EBADRQC" "," "OSERR" ","
394 "57" "," "EBADSLT" "," "OSERR" ","
395 "59" "," "EBFONT" "," "OSERR" ",")
397 A_CHAR(
"60" "," "ENOSTR" "," "OSERR" ","
398 "61" "," "ENODATA" "," "OSERR" ","
399 "62" "," "ETIME" "," "OSERR" ","
400 "63" "," "ENOSR" "," "OSERR" ",")
401#
if !defined(__APPLE__)
402 A_CHAR(
"64" "," "ENONET" "," "OSERR" ","
403 "65" "," "ENOPKG" "," "OSERR" ",")
405 A_CHAR(
"66" "," "EREMOTE" "," "OSERR" ","
406 "67" "," "ENOLINK" "," "OSERR" ",")
407#
if !defined(__APPLE__)
408 A_CHAR(
"68" "," "EADV" "," "OSERR" ","
409 "69" "," "ESRMNT" "," "OSERR" ","
410 "70" "," "ECOMM" "," "OSERR" ",")
412 A_CHAR(
"71" "," "EPROTO" "," "OSERR" ","
413 "72" "," "EMULTIHOP" "," "OSERR" ",")
414#
if !defined(__APPLE__)
415 A_CHAR(
"73" "," "EDOTDOT" "," "OSERR" ",")
417 A_CHAR(
"74" "," "EBADMSG" "," "OSERR" ","
418 "75" "," "EOVERFLOW" "," "OSERR" ",")
419#
if !defined(__APPLE__)
420 A_CHAR(
"76" "," "ENOTUNIQ" "," "OSERR" ","
421 "77" "," "EBADFD" "," "OSERR" ","
422 "78" "," "EREMCHG" "," "OSERR" ","
423 "79" "," "ELIBACC" "," "OSERR" ","
424 "80" "," "ELIBBAD" "," "OSERR" ","
425 "81" "," "ELIBSCN" "," "OSERR" ","
426 "82" "," "ELIBMAX" "," "OSERR" ","
427 "83" "," "ELIBEXEC" "," "OSERR" ",")
429 A_CHAR(
"84" "," "EILSEQ" "," "OSERR" ",")
430#
if !defined(__APPLE__)
431 A_CHAR(
"85" "," "ERESTART" "," "OSERR" ","
432 "86" "," "ESTRPIPE" "," "OSERR" ",")
434 A_CHAR(
"87" "," "EUSERS" "," "OSERR" ","
435 "88" "," "ENOTSOCK" "," "OSERR" ","
436 "89" "," "EDESTADDRREQ" "," "OSERR" ","
437 "90" "," "EMSGSIZE" "," "OSERR" ","
438 "91" "," "EPROTOTYPE" "," "OSERR" ","
439 "92" "," "ENOPROTOOPT" "," "OSERR" ","
440 "93" "," "EPROTONOSUPPORT" "," "OSERR" ","
441 "94" "," "ESOCKTNOSUPPORT" "," "OSERR" ","
442 "95" "," "EOPNOTSUPP" "," "OSERR" ","
443 "96" "," "EPFNOSUPPORT" "," "OSERR" ","
444 "97" "," "EAFNOSUPPORT" "," "OSERR" ","
445 "98" "," "EADDRINUSE" "," "OSERR" ","
446 "99" "," "EADDRNOTAVAIL" "," "OSERR" ","
447 "100" "," "ENETDOWN" "," "OSERR" ","
448 "101" "," "ENETUNREACH" "," "OSERR" ","
449 "102" "," "ENETRESET" "," "OSERR" ","
450 "103" "," "ECONNABORTED" "," "OSERR" ","
451 "104" "," "ECONNRESET" "," "OSERR" ","
452 "105" "," "ENOBUFS" "," "OSERR" ","
453 "106" "," "EISCONN" "," "OSERR" ","
454 "107" "," "ENOTCONN" "," "OSERR" ","
455 "108" "," "ESHUTDOWN" "," "OSERR" ","
456 "109" "," "ETOOMANYREFS" "," "OSERR" ","
457 "110" "," "ETIMEDOUT" "," "OSERR" ","
458 "111" "," "ECONNREFUSED" "," "OSERR" ","
459 "112" "," "EHOSTDOWN" "," "OSERR" ","
460 "113" "," "EHOSTUNREACH" "," "OSERR" ","
461 "114" "," "EALREADY" "," "OSERR" ","
462 "115" "," "EINPROGRESS" "," "OSERR" ","
463 "116" "," "ESTALE" "," "OSERR" "," )
464#
if !defined(__APPLE__)
465 A_CHAR(
"117" "," "EUCLEAN" "," "OSERR" ","
466 "118" "," "ENOTNAM" "," "OSERR" ","
467 "119" "," "ENAVAIL" "," "OSERR" ","
468 "120" "," "EISNAM" "," "OSERR" ","
469 "121" "," "EREMOTEIO" "," "OSERR" "," )
471 A_CHAR(
"122" "," "EDQUOT" "," "OSERR" "," )
472#
if !defined(__APPLE__)
473 A_CHAR(
"123" "," "ENOMEDIUM" "," "OSERR" ","
474 "124" "," "EMEDIUMTYPE" "," "OSERR" "," )
476 A_CHAR(
"125" "," "ECANCELED" "," "OSERR" "," )
477#
if !defined(__APPLE__)
478 A_CHAR(
"126" "," "ENOKEY" "," "OSERR" ","
479 "127" "," "EKEYEXPIRED" "," "OSERR" ","
480 "128" "," "EKEYREVOKED" "," "OSERR" ","
481 "129" "," "EKEYREJECTED" "," "OSERR" "," )
483 A_CHAR(
"130" "," "EOWNERDEAD" "," "OSERR" ","
484 "131" "," "ENOTRECOVERABLE" "," "OSERR" )
485#
if !defined(__APPLE__)
487 "132" "," "ERFKILL" "," "OSERR" ","
488 "133" "," "EHWPOISON" "," "OSERR" )
493 A_CHAR(
"1" "," "EPERM" "," "OSERR" ","
494 "2" "," "ENOENT" "," "OSERR" ","
495 "3" "," "ESRCH" "," "OSERR" ","
496 "4" "," "EINTR" "," "OSERR" ","
497 "5" "," "EIO" "," "OSERR" ","
498 "6" "," "ENXIO" "," "OSERR" ","
499 "7" "," "E2BIG" "," "OSERR" ","
500 "8" "," "ENOEXEC" "," "OSERR" ","
501 "9" "," "EBADF" "," "OSERR" ","
502 "10" "," "ECHILD" "," "OSERR" ","
503 "11" "," "EAGAIN" "," "OSERR" ","
504 "12" "," "ENOMEM" "," "OSERR" ","
505 "13" "," "EACCES" "," "OSERR" ","
506 "14" "," "EFAULT" "," "OSERR" ","
507 "16" "," "EBUSY" "," "OSERR" ","
508 "17" "," "EEXIST" "," "OSERR" ","
509 "18" "," "EXDEV" "," "OSERR" ","
510 "19" "," "ENODEV" "," "OSERR" ","
511 "20" "," "ENOTDIR" "," "OSERR" ","
512 "21" "," "EISDIR" "," "OSERR" ","
513 "23" "," "ENFILE" "," "OSERR" ","
514 "24" "," "EMFILE" "," "OSERR" ","
515 "25" "," "ENOTTY" "," "OSERR" ","
516 "27" "," "EFBIG" "," "OSERR" ","
517 "28" "," "ENOSPC" "," "OSERR" ","
518 "29" "," "ESPIPE" "," "OSERR" ","
519 "30" "," "EROFS" "," "OSERR" ","
520 "31" "," "EMLINK" "," "OSERR" ","
521 "32" "," "EPIPE" "," "OSERR" ","
522 "33" "," "EDOM" "," "OSERR" ","
523 "36" "," "EDEADLK" "," "OSERR" ","
524 "38" "," "ENAMETOOLONG" "," "OSERR" ","
525 "39" "," "ENOLCK" "," "OSERR" ","
526 "40" "," "ENOSYS" "," "OSERR" ","
527 "41" "," "ENOTEMPTY" "," "OSERR" ","
528 "22" "," "EINVAL" "," "OSERR" ","
529 "34" "," "ERANGE" "," "OSERR" ","
530 "42" "," "EILSEQ" "," "OSERR" ","
531 "80" "," "STRUNCATE" "," "OSERR" ","
532 "100" "," "EADDRINUSE" "," "OSERR" ","
533 "101" "," "EADDRNOTAVAIL" "," "OSERR" ","
534 "102" "," "EAFNOSUPPORT" "," "OSERR" ","
535 "103" "," "EALREADY" "," "OSERR" ","
536 "104" "," "EBADMSG" "," "OSERR" ","
537 "105" "," "ECANCELED" "," "OSERR" ","
538 "106" "," "ECONNABORTED" "," "OSERR" ","
539 "107" "," "ECONNREFUSED" "," "OSERR" ","
540 "108" "," "ECONNRESET" "," "OSERR" ","
541 "109" "," "EDESTADDRREQ" "," "OSERR" ","
542 "110" "," "EHOSTUNREACH" "," "OSERR" ","
543 "111" "," "EIDRM" "," "OSERR" ","
544 "112" "," "EINPROGRESS" "," "OSERR" ","
545 "113" "," "EISCONN" "," "OSERR" ","
546 "114" "," "ELOOP" "," "OSERR" ","
547 "115" "," "EMSGSIZE" "," "OSERR" ","
548 "116" "," "ENETDOWN" "," "OSERR" ","
549 "117" "," "ENETRESET" "," "OSERR" ","
550 "118" "," "ENETUNREACH" "," "OSERR" ","
551 "119" "," "ENOBUFS" "," "OSERR" ","
552 "120" "," "ENODATA" "," "OSERR" ","
553 "121" "," "ENOLINK" "," "OSERR" ","
554 "122" "," "ENOMSG" "," "OSERR" ","
555 "123" "," "ENOPROTOOPT" "," "OSERR" ","
556 "124" "," "ENOSR" "," "OSERR" ","
557 "125" "," "ENOSTR" "," "OSERR" ","
558 "126" "," "ENOTCONN" "," "OSERR" ","
559 "127" "," "ENOTRECOVERABLE" "," "OSERR" ","
560 "128" "," "ENOTSOCK" "," "OSERR" ","
561 "129" "," "ENOTSUP" "," "OSERR" ","
562 "130" "," "EOPNOTSUPP" "," "OSERR" ","
563 "131" "," "EOTHER" "," "OSERR" ","
564 "132" "," "EOVERFLOW" "," "OSERR" ","
565 "133" "," "EOWNERDEAD" "," "OSERR" ","
566 "134" "," "EPROTO" "," "OSERR" ","
567 "135" "," "EPROTONOSUPPORT" "," "OSERR" ","
568 "136" "," "EPROTOTYPE" "," "OSERR" ","
569 "137" "," "ETIME" "," "OSERR" ","
570 "138" "," "ETIMEDOUT" "," "OSERR" ","
571 "139" "," "ETXTBSY" "," "OSERR" ","
572 "140" "," "EWOULDBLOCK" "," "OSERR" ) EOS
576 "ExcFmtExc",
A_CHAR(
"\nAn exception occurred while formatting another (!) exception:\n" ),
579 "PHT",
A_CHAR(
"0,NotGiven" ",1,"
592 "FE<",
A_CHAR(
"format::"),
595 "FE0" ,
A_CHAR(
"11,ArgumentIndexIs0" ",FMG11" ),
596 "FE1" ,
A_CHAR(
"12,ArgumentIndexOutOfBounds" ",FMG12" ),
597 "FE2" ,
A_CHAR(
"13,IncompatibleTypeCode" ",FMG13" ),
600 "FE3" ,
A_CHAR(
"101,MissingClosingBracket" ",FPS101" ),
601 "FE4" ,
A_CHAR(
"102,MissingPrecisionValuePS" ",FPS102" ),
602 "FE5" ,
A_CHAR(
"103,DuplicateTypeCode" ",FPS103" ),
603 "FE6" ,
A_CHAR(
"104,UnknownTypeCode" ",FPS104" ),
604 "FE7" ,
A_CHAR(
"105,ExclamationMarkExpected" ",FPS105" ),
605 "FE8" ,
A_CHAR(
"106,UnknownConversionPS" ",FPS106" ),
606 "FE9" ,
A_CHAR(
"107,PrecisionSpecificationWithInteger" ",FPS107" ),
607 "FE10",
A_CHAR(
"108,MissingReplacementStrings" ",FPS108" ),
610 "FE11" ,
A_CHAR(
"201,NegativeValuesInBracketsNotSupported" ",FJS101" ),
611 "FE12" ,
A_CHAR(
"202,MissingPrecisionValueJS" ",FJS102" ),
612 "FE13" ,
A_CHAR(
"203,HexadecimalFloatFormatNotSupported" ",FJS103" ),
613 "FE14" ,
A_CHAR(
"204,NoAlternateFormOfConversion" ",FJS104" ),
614 "FE15" ,
A_CHAR(
"205,NoPrecisionWithConversion" ",FJS105" ),
615 "FE16" ,
A_CHAR(
"206,UnknownDateTimeConversionSuffix" ",FJS106" ),
616 "FE17" ,
A_CHAR(
"207,UnknownConversionJS" ",FJS107" ),
619 "FE18" ,
A_CHAR(
"501,UnknownPropertyInFormatString" ",PFM501" ),
620 "FE19" ,
A_CHAR(
"502,ErrorInResultingFormatString" ",PFM502" ),
621 "FE20" ,
A_CHAR(
"510,MissingConfigurationVariable" ",PFM510" ),
624 "FE21" ,
A_CHAR(
"601,UnknownMarker" ",ST601" ),
625 "FE22" ,
A_CHAR(
"602,EndmarkerWithoutStart" ",ST602" ),
628 "FMG11" ,
A_CHAR(
"Argument index 0 not allowed.\n"
629 "In: {!Q}\n >{!FillC-}^" ),
630 "FMG12" ,
A_CHAR(
"Argument index #{} is out of bounds. {} arguments are available.\n"
631 "In: {!Q}\n >{!FillC-}^" ),
632 "FMG13" ,
A_CHAR(
"Detected placeholder type does not match given argument.\n"
633 "Placeholder number: {}\n"
634 "Placeholder type: {} ({})\n" )
635 "Deduced argument type: {!Q}\n"
637 A_CHAR(
"Native argument type: <{}>\n" )
638 "In: {!Q}\n >{!FillC-}^" ),
641 "FPS101" ,
A_CHAR(
"Closing bracket '}}' of placeholder not found (or syntax error).\n"
642 "In: {!Q}\n >{!FillC-}^" ),
646 "FPS102" ,
A_CHAR(
"Missing precision value after '.' character."
647 "\nIn: {!Q}\n >{!FillC-}^" ),
648 "FPS103" ,
A_CHAR(
"Duplicate type code {!Q'} given (previous was {!Q'})."
650 "\nIn: {!Q}\n >{!FillC-}^" ),
651 "FPS104" ,
A_CHAR(
"Unknown type code {!Q'} given."
652 "\nIn: {!Q}\n >{!FillC-}^" )
654 "FPS105" ,
A_CHAR(
"Expected '!' in continuation of placeholder."
656 "\nIn: {!Q}\n >{!FillC-}^" ),
657 "FPS106" ,
A_CHAR(
"Unknown conversion \"!{}\"."
659 "\nIn: {!Q}\n >{!FillC-}^" ),
660 "FPS107" ,
A_CHAR(
"Precision not allowed with integer format."
662 "\nIn: {!Q}\n >{!FillC-}^" ),
663 "FPS108" ,
A_CHAR(
"Missing pair of replacement strings \"<src><repl>\" after \"!Replace\"."
665 "\nIn: {!Q}\n >{!FillC-}^" ),
669 "FJS101" ,
A_CHAR(
"Brackets for negative values not implemented/supported."
670 "\nIn: {!Q}\n >{!FillC-}^" ),
671 "FJS102" ,
A_CHAR(
"Missing precision value after '.' character."
672 "\nIn: {!Q}\n >{!FillC-}^" ),
673 "FJS103" ,
A_CHAR(
"Hexadecimal float format not implemented/supported."
674 "\nIn: {!Q}\n >{!FillC-}^" ),
675 "FJS104" ,
A_CHAR(
"Alternate form '#' not supported with conversion {!Q}."
676 "\nIn: {!Q}\n >{!FillC-}^" ),
677 "FJS105" ,
A_CHAR(
"Precision specification (\".{}\") is not supported with conversion {!Q}."
678 "\nIn: {!Q}\n >{!FillC-}^" ),
679 "FJS106" ,
A_CHAR(
"Unknown date/time conversion suffix {!Q'}."
680 "\nIn: {!Q}\n >{!FillC-}^" ),
681 "FJS107" ,
A_CHAR(
"Unknown conversion character {!Q'}."
682 "\nIn: {!Q}\n >{!FillC-}^" ),
686 "PFM501" ,
A_CHAR(
"Unknown property identifier \"{}{}\" in format string.\n"
687 "Format string: {!Q}.\n"
688 "Allowed identifiers: " ),
689 "PFM502" ,
A_CHAR(
"Error in resulting format string.\nSource format: {!Q}." ),
690 "PFM510" ,
A_CHAR(
"Missing or empty configuration variable {!Q} containing user-defined format string." ),
693 "ST601" ,
A_CHAR(
"Unknown marker at position {}.\n"
694 " Marked text: {!Q}.\n"
696 "ST602" ,
A_CHAR(
"Found an end-marker without a start marker at position {}.\n"
697 " Marked text: {!Q}.\n"
732DOX_MARKER( [DOX_ENUMS_MAKE_PARSABLE_22] )
734DOX_MARKER( [DOX_ENUMS_MAKE_PARSABLE_22] )
766DOX_MARKER([DOX_VARIABLES_DECLARATION7])
768DOX_MARKER([DOX_VARIABLES_DECLARATION7])
786 parser=
GetResource(
"Days" );
for(
int i= 0 ; i < 7 ; ++i ) { CalendarDateTime:: DAY_NAMES[i]= parser.
ConsumeToken(
','); }
789 for(
int i= 0 ; i < int(DayTimeUnits::SIZE_OF_UNITS) ; ++i )
792 ALIB_ASSERT( DT_UNITS[
size_t(
int(DayTimeUnits::SIZE_OF_UNITS)-1)].IsNotEmpty(),
"BASECAMP" )
814 if( !setlocale(LC_ALL, nLocale ) ) {
815 NString256 msg(
"ALib Error: setlocale(\""); msg << nLocale <<
"\") failed. Setting read from ";
816 msg << ( receivedFrom == 1 ?
"config variable 'ALIB_LOCALE'" :
817 receivedFrom == 2 ?
"environment variable 'LANG'" :
818 receivedFrom == 3 ?
"environment variable 'LANGUAGE'" :
"ERROR" );
822 std::cerr <<
". Trying 'setlocale(LC_ALL, \"\")': ";
823 if ( setlocale(LC_ALL,
"" ) )
824 std::cerr <<
" success.";
826 std::cerr <<
"failed. Trying 'setlocale(LC_ALL, \"C\")': ";
827 if ( setlocale(LC_ALL,
"C" ) )
828 std::cerr <<
" success.";
830 std::cerr << std::endl <<
" Panic: No standard locale setting was successful!";
832 std::cerr << std::endl;
857 (void) varHasConsoleWindow.
Define();
866 #if defined(_WIN32) && ALIB_DEBUG
872 (void) varWaitForKeyPress.
Define();
881 if (
BASECAMP.WaitForKeyPressOnTermination ) {
883 OutputDebugStringA(
"\r\nALIB: Waiting for 'Enter' key in the console window.\r\n" );
886 std::cout << std::endl <<
GetResource(
"EXIT_MSG") << std::endl;
887 while ( getchar() !=
'\n' )
902 #if (defined(__unix__) || defined(__APPLE__)) && !DOXYGEN
903namespace {
String DebuggerProcessNames=
A_CHAR(
"gdb|debugserver"); }
908#if defined(__unix__) || defined(__APPLE__)
913 if ( parentPID == 0 )
917 Tokenizer tknzr( DebuggerProcessNames,
'|' );
930 #pragma message ("Unknown Platform in file: " __FILE__ )
ALIB_DLL bool IsDebuggerPresent()
bool WaitForKeyPressOnTermination
virtual ALIB_DLL void Bootstrap() override
virtual ALIB_DLL void Shutdown(ShutdownPhases phase) override
NCString ResourceCategory
BootstrapPhases GetBootstrapState()
SharedConfiguration config
Camp(const NCString &resourceCategory)
SPResourcePool resourcePool
const String & GetResource(const NString &name)
TAString & _(const TAppendable &src)
constexpr integer Length() const
constexpr bool IsEmpty() const
constexpr bool IsNotEmpty() const
constexpr const TChar * Buffer() const
bool Equals(const TString< TChar > &rhs) const
bool StartsWith(const TString &needle) const
TString< TChar > ConsumeToken(TChar separator=',', lang::Inclusion includeSeparator=lang::Inclusion::Include)
static ALIB_DLL String MONTH_NAMES[12]
ALIB_DLL TSubstring< TChar > & Next(lang::Whitespaces trimming=lang::Whitespaces::Trim, TChar newDelim='\0')
uinteger PPID
The parent's process id as AString. (Unix like OS / Mac OS only.)
static ALIB_DLL const ProcessInfo & Current()
ALIB_DLL bool Define(Priority requestedPriority=Priority::Standard)
#define IF_ALIB_THREADS(...)
#define ALIB_ASSERT(cond, domain)
#define ALIB_STRINGS_TO_NARROW( src, dest, bufSize)
#define IF_ALIB_BITBUFFER(...)
#define IF_ALIB_THREADMODEL(...)
#define ALIB_ASSERT_ERROR(cond, domain,...)
#define ALIB_REL_DBG(releaseCode,...)
#define ALIB_SINGLE_THREADED
void(* PLUGIN)(const CallerInfo &ci, int type, std::string_view domain, std::string_view msg)
@ HAS_CONSOLE_WINDOW
See ALIB/HAS_CONSOLE_WINDOW.
@ WAIT_FOR_KEY_PRESS
See ALIB/WAIT_FOR_KEY_PRESS.
void Bootstrap(camp::Camp &camp, const NString &name, character innerDelim=',', character outerDelim=',')
ALIB_DLL TMonoAllocator< lang::HeapAllocator > GLOBAL_ALLOCATOR
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
@ Final
The final initialization phase. Here, camps are initializing their custom setup.
strings::util::TTokenizer< character > Tokenizer
Type alias in namespace alib.
variables::Variable Variable
Type alias in namespace alib.
camp::Basecamp BASECAMP
The singleton instance of ALib Camp class Basecamp.
ShutdownPhases
Termination levels usable with Bootstrapping ALib Camps.
strings::TNumberFormat< character > NumberFormat
Type alias in namespace alib.
system::ProcessInfo ProcessInfo
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
NLocalString< 256 > NString256
Type alias name for TLocalString<nchar,256>.
lang::uinteger uinteger
Type alias in namespace alib.
strings::TSubstring< character > Substring
Type alias in namespace alib.
static ALIB_DLL bool Get(const CString &varName, AString &target, lang::CurrentData targetData=lang::CurrentData::Clear)