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"
44DOX_MARKER([DOX_VARIABLES_DEFINETYPE2])
49 auto& rec = data->As<alib::lox::textlogger::FormatMetaInfo>();
52 escaper.UnescapeTokens(results, src,
A_CHAR(
",") );
54 rec.Format .Reset(results.TryGet(0));
55 rec.VerbosityError .Reset(results.TryGet(1));
56 rec.VerbosityWarning.Reset(results.TryGet(2));
57 rec.VerbosityInfo .Reset(results.TryGet(3));
58 rec.VerbosityVerbose.Reset(results.TryGet(4));
59 rec.MsgSuffix .Reset(results.TryGet(5));
64 auto& rec= data->As<alib::lox::textlogger::FormatMetaInfo>();
65 escaper.Escape(rec.Format , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
66 escaper.Escape(rec.VerbosityError , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
67 escaper.Escape(rec.VerbosityWarning , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
68 escaper.Escape(rec.VerbosityInfo , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
69 escaper.Escape(rec.VerbosityVerbose , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
70 escaper.Escape(rec.MsgSuffix , dest,
A_CHAR(
","));
74DOX_MARKER([DOX_VARIABLES_DEFINETYPE2])
81 auto& rec= data->As<alib::lox::textlogger::FormatDateTime>();
84 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
86 rec.Date .Reset(results.TryGet(0));
87 rec.TimeOfDay .Reset(results.TryGet(1));
88 rec.ElapsedDays.Reset(results.TryGet(2));
93 auto& rec= data->As<alib::lox::textlogger::FormatDateTime>();
94 escaper.Escape(rec.Date , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
95 escaper.Escape(rec.TimeOfDay , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
96 escaper.Escape(rec.ElapsedDays , dest,
A_CHAR(
","));
102 auto& rec= data->As<alib::lox::textlogger::FormatTimeDiff>();
105 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
108 rec.None .Reset( results.TryGet(1));
109 rec.Nanos .Reset( results.TryGet(2));
110 rec.Micros .Reset( results.TryGet(3));
111 rec.Millis .Reset( results.TryGet(4));
112 rec.Secs .Reset( results.TryGet(5));
113 rec.Mins .Reset( results.TryGet(6));
114 rec.Hours .Reset( results.TryGet(7));
115 rec.Days .Reset( results.TryGet(8));
120 auto& rec= data->As<alib::lox::textlogger::FormatTimeDiff>();
121 dest << rec.Minimum; dest <<
A_CHAR(
", ");
122 escaper.Escape(rec.None , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
123 escaper.Escape(rec.Nanos , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
124 escaper.Escape(rec.Micros , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
125 escaper.Escape(rec.Millis , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
126 escaper.Escape(rec.Secs , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
127 escaper.Escape(rec.Mins , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
128 escaper.Escape(rec.Hours , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
129 escaper.Escape(rec.Days , dest,
A_CHAR(
","));
135 auto& rec= data->As<alib::lox::textlogger::FormatMultiLine>();
138 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
142 rec.Headline .Reset(results.TryGet(1));
143 rec.Prefix .Reset(results.TryGet(2));
144 rec.Suffix .Reset(results.TryGet(3));
145 buf .Reset(results.TryGet(4));
147 rec.Delimiter .Reset(buf);
148 rec.DelimiterReplacement .Reset(results.TryGet(5));
154 auto& rec= data->As<alib::lox::textlogger::FormatMultiLine>();
155 dest << rec.Mode ; dest <<
A_CHAR(
", ");
156 escaper.Escape(rec.Headline , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
157 escaper.Escape(rec.Prefix , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
158 escaper.Escape(rec.Suffix , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
159 if( rec.Delimiter.IsNotNull() )
160 escaper.Escape(rec.Delimiter , dest,
A_CHAR(
",")) << dest <<
A_CHAR(
", ");
163 escaper.Escape(rec.DelimiterReplacement , dest,
A_CHAR(
","));
169 auto& rec= data->As<alib::lox::textlogger::FormatOther>();
172 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
174 rec.NoSourceFileInfo .Reset(results.TryGet(0));
175 rec.NoMethodInfo .Reset(results.TryGet(1));
180 auto& rec= data->As<alib::lox::textlogger::FormatOther>();
181#if ALIB_CHARACTERS_WIDE
182 String256 wNoSourceFileInfo(rec.NoSourceFileInfo);
183 String256 wNoMethodInfo (rec.NoMethodInfo );
184 escaper.Escape(wNoSourceFileInfo , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
185 escaper.Escape(wNoMethodInfo , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
187 escaper.Escape(rec.NoSourceFileInfo , dest,
","); dest <<
A_CHAR(
", ");
188 escaper.Escape(rec.NoMethodInfo , dest,
","); dest <<
A_CHAR(
", ");
190 dest << rec.LogNumberMinDigits;
196 auto& rec= data->As<alib::lox::textlogger::FormatAutoSizes>();
202 importMI.Split( sepPos, importLog, 1 );
203 rec.Main .Import( importMI );
204 rec.LogMessage.Import( importLog );
209 auto& rec= data->As<alib::lox::textlogger::FormatAutoSizes>();
210 rec.Main .Export( dest );
212 rec.LogMessage.Export( dest );
218 auto& pairs= data->As<alib::lox::textlogger::Replacements>().Pairs;
221 escaper.UnescapeTokens(results, src,
A_CHAR(
"=,"));
225 String searchString= results.TryGet(cnt );
226 String replaceString= results.TryGet(cnt + 1);
227 if( searchString.IsEmpty() )
230 pairs.insert( pairs.end(),
AStringPA(pairs.get_allocator().GetAllocator()) );
231 pairs.back() << searchString;
232 pairs.insert( pairs.end(),
AStringPA(pairs.get_allocator().GetAllocator()) );
233 pairs.back() << replaceString;
240 auto& pairs= data->As<alib::lox::textlogger::Replacements>().Pairs;
241 for(
auto it = pairs.begin() ; it != pairs.end() ; )
243 escaper.Escape(*it , dest,
A_CHAR(
"=,"));
246 escaper.Escape(*it , dest,
A_CHAR(
"=,"));
250 dest.DeleteEnd(
A_CHAR(
", "));
256 auto& CLP= data->As<alib::lox::textlogger::ColorfulLoggerParameters>();
261 ALIB_WARNING(
"ALOX",
"Error parsing variable CONSOLE_LIGHT_COLORS value '{}'.", src )
267 auto& CLP= data->As<alib::lox::textlogger::ColorfulLoggerParameters>();
ALIB_DLL uint64_t ParseDec(integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const
integer IndexOf(TChar needle, integer startIdx=0) const
TSubstring & Trim(const TCString< TChar > &whiteSpaces=CStringConstantsTraits< TChar >::DefaultWhitespaces())
#define ALIB_WARNING(domain,...)
bool Parse(strings::TSubstring< TChar > &input, TEnum &result)
strings::util::StringEscaper StringEscaper
Type alias in namespace alib.
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
strings::util::TStringVector< character, MonoAllocator > StringVectorMA
Type alias in namespace alib.
constexpr CString NEW_LINE
A zero-terminated string containing the new-line character sequence.
variables::Configuration Configuration
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
strings::TAString< character, PoolAllocator > AStringPA
Type alias in namespace alib.
monomem::TLocalAllocator< 4 > LocalAllocator4K
Type alias in namespace alib. Allocates 4kB of stack memory.
strings::TSubstring< character > Substring
Type alias in namespace alib.