8#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
9# error "Configuration MACRO ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
40#if !ALIB_SINGLE_THREADED
55 formatter->initializeFormat();
56 while( (formatter= formatter->Next.Get()) !=
nullptr );
60 while ( argIdx < args.
Size() - 1 ) {
62 const Box& actual= args[size_t(argIdx++)];
63 if( actual.
IsType<
void>() )
79 while( ( qtyConsume= formatter->format( target, formatString, args,
int(argIdx ) ) )
81 && (formatter= formatter->Next.Get()) !=
nullptr )
90 argIdx+= size_t( qtyConsume );
94 if ( argIdx==args.
Size() - 1 && !args.back().template IsType<void>() ){
96 lastArg.
_(args.back());
111 Next->CloneSettings( *reference.
Next );
138 auto* src = escaped.
Buffer();
143 while( length > 1 ) {
146 if( c1 ==
'\\' ) {
switch(c2) {
147 case 'r': c1=
'\r' ;
break;
148 case 'n': c1=
'\n' ;
break;
149 case 't': c1=
'\t' ;
break;
150 case 'a': c1=
'\a' ;
break;
151 case 'b': c1=
'\b' ;
break;
152 case 'v': c1=
'\v' ;
break;
153 case 'f': c1=
'\f' ;
break;
154 case '"': c1=
'"' ;
break;
155 case '\\': c1=
'\\' ;
break;
156 default: c1=
'?' ;
break;
158 c2= *++src; --length;
160 *dest++= c1; --length;
#define ALIB_DBG_PREVENT_RECURSIVE_METHOD_CALLS
#define ALIB_BOXING_VTABLE_DEFINE(TMapped, Identifier)
TAString & _(const TAppendable &src)
void EnsureRemainingCapacity(integer spaceNeeded)
void DbgDisableBufferReplacementWarning()
void SetLength(integer newLength)
constexpr integer Length() const
constexpr bool IsEmpty() const
constexpr const TChar * Buffer() const
format::Formatter Formatter
Type alias in namespace alib.
containers::SharedPtr< format::Formatter > SPFormatter
lang::integer integer
Type alias in namespace alib.
boxing::Box Box
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
boxing::TBoxes< MonoAllocator > BoxesMA
Type alias in namespace alib.
LocalString< 256 > String256
Type alias name for #"TLocalString;TLocalString<character,256>".
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
characters::character character
Type alias in namespace alib.