11#if !ALIB_SINGLE_THREADED
26 formatter->initializeFormat();
27 while( (formatter= formatter->Next.Get()) !=
nullptr );
31 while ( argIdx < args.
Size() - 1 ) {
33 const Box& actual= args[size_t(argIdx++)];
34 if( actual.
IsType<
void>() )
50 while( ( qtyConsume= formatter->format( target, formatString, args,
int(argIdx ) ) )
52 && (formatter= formatter->Next.Get()) !=
nullptr )
61 argIdx+= size_t( qtyConsume );
65 if ( argIdx==args.
Size() - 1 && !args.back().template IsType<void>() ){
67 lastArg.
_(args.back());
82 Next->CloneSettings( *reference.
Next );
109 auto* src = escaped.
Buffer();
114 while( length > 1 ) {
117 if( c1 ==
'\\' ) {
switch(c2) {
118 case 'r': c1=
'\r' ;
break;
119 case 'n': c1=
'\n' ;
break;
120 case 't': c1=
'\t' ;
break;
121 case 'a': c1=
'\a' ;
break;
122 case 'b': c1=
'\b' ;
break;
123 case 'v': c1=
'\v' ;
break;
124 case 'f': c1=
'\f' ;
break;
125 case '"': c1=
'"' ;
break;
126 case '\\': c1=
'\\' ;
break;
127 default: c1=
'?' ;
break;
129 c2= *++src; --length;
131 *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".