14 return int(result.
Size() - oldSize);
28 bool lastWasSlash=
false;
63 const String& delimiters )
const {
83 case '"' : dest.
_<
NC>(needsQuotes ?
"\\\"" :
"\"");
85 case '\\' : dest.
_<
NC>(
"\\\\");
break;
86 case '\r' : dest.
_<
NC>(
"\\r" );
break;
87 case '\n' : dest.
_<
NC>(
"\\n" );
break;
88 case '\t' : dest.
_<
NC>(
"\\t" );
break;
89 case '\a' : dest.
_<
NC>(
"\\a" );
break;
90 case '\b' : dest.
_<
NC>(
"\\b" );
break;
91 case '\v' : dest.
_<
NC>(
"\\v" );
break;
92 case '\f' : dest.
_<
NC>(
"\\f" );
break;
93 case '\033' : dest.
_<
NC>(
"\\e" );
break;
94 default : dest.
_<
NC>(c);
break;
114 return int(result.
Size() - oldSize);
124 bool lastWasSlash=
false;
126 while( idx < src.
Length() ) {
139 if( c==
'"' && (idx==1 || inQuote) ) {
144 if( !inQuote && delimiters.
IndexOf(c) >= 0 ) {
147 result.
Add( tempBuf );
156 result.
Add( tempBuf );
159 return int (result.
Size() - oldSize);
TAString & _(const TAppendable &src)
void DbgDisableBufferReplacementWarning()
constexpr integer Length() const
TChar CharAtStart() const
integer IndexOf(TChar needle, integer startIdx=0) const
TChar CharAt(integer idx) const
constexpr bool IsNotEmpty() const
TString< TChar > Substring(integer regionStart, integer regionLength=MAX_LEN) const
TSubstring & TrimStart(const TCString< TChar > &whiteSpaces=CStringConstantsTraits< TChar >::DefaultWhitespaces())
bool ConsumeCharFromEnd(TChar consumable)
integer ConsumeChars(integer regionLength, TSubstring *target=nullptr)
TSubstring & Trim(const TCString< TChar > &whiteSpaces=CStringConstantsTraits< TChar >::DefaultWhitespaces())
integer Add(const strings::TString< TChar > &src)
integer Size() const noexcept
TSubstring< TChar > & Next(lang::Whitespaces trimming=lang::Whitespaces::Trim, TChar newDelim='\0')
TLocalString< TChar, 8 > TrimChars
strings::util::TTokenizer< character > Tokenizer
Type alias in namespace #"%alib".
strings::util::TStringVector< character, MonoAllocator > StringVectorMA
Type alias in namespace #"%alib".
strings::TEscape< character > Escape
Type alias in namespace #"%alib".
lang::integer integer
Type alias in namespace #"%alib".
strings::TString< character > String
Type alias in namespace #"%alib".
strings::TSubstring< character > Substring
Type alias in namespace #"%alib".
LocalString< 2048 > String2K
Type alias name for #"TLocalString;TLocalString<character,2048>".
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace #"%alib".
characters::character character
Type alias in namespace #"%alib".
LocalString< 512 > String512
Type alias name for #"TLocalString;TLocalString<character,512>".
virtual AString & Unescape(const String &src, AString &dest) const override
virtual int UnescapeTokens(StringVectorMA &result, const String &src, const String &delimiters) const override
virtual AString & Escape(const String &src, AString &dest, const String &delimiters) const override
virtual int EscapeTokens(StringVectorMA &result, const String &src, const String &delimiters) const override
virtual int EscapeTokens(StringVectorMA &result, const String &src, const String &delimiters) const