62template <
typename TChar,
integer TCapacity,
typename TAllocator= lang::HeapAllocator>
129 if ( !move.HasInternalBuffer() )
148#if ALIB_DEBUG_STRINGS
150 move.buffer =
nullptr;
208#if ALIB_DEBUG_STRINGS
210 move.buffer =
nullptr;
230 template <
typename TAppendable>
247 template <
typename TAppendable>
259}
namespace characters {
261template<
typename TChar,
integer TCapacity,
typename TAllocator>
262struct ArrayTraits<strings::TLocalString<TChar,TCapacity,TAllocator>, TChar>
264 using T= strings::TLocalString<TChar,TCapacity,TAllocator>;
267 static constexpr const TChar*
Buffer(
const T& src) {
return src.Buffer(); }
268 static constexpr integer Length(
const T& src) {
return src.Length(); }
271template<
typename TChar,
integer TCapacity,
typename TAllocator>
272struct ZTArrayTraits<strings::TLocalString<TChar,TCapacity,TAllocator>, TChar>
274 using T= strings::TLocalString<TChar,TCapacity,TAllocator>;
277 static constexpr const TChar*
Buffer(
const T& src) {
return src.Terminate(); }
278 static constexpr integer Length(
const T& src) {
return src.Length(); }
300template <
typename TChar,
integer TCapacity,
typename TAllocator>
321 template <
typename TChar,
integer TCapacity,
typename TAllocator>
322 using TLocalStringNoWarning = TLocalString<TChar, TCapacity, TAllocator>;
328template<
integer TCapacity>
332template<
integer TCapacity>
336template<
integer TCapacity>
340template<
integer TCapacity>
341using NLocalString = strings::TLocalString <nchar , TCapacity, lang::HeapAllocator>;
344template<
integer TCapacity>
345using WLocalString = strings::TLocalString <wchar , TCapacity, lang::HeapAllocator>;
348template<
integer TCapacity>
349using XLocalString = strings::TLocalString <xchar , TCapacity, lang::HeapAllocator>;
bool dbgWarnWhenExternalBufferIsReplaced
constexpr TAString(lang::HeapAllocator &pAllocator, TChar *extBuffer, integer extBufferSize)
void SetNull()
Invokes SetBuffer(0).
integer debugLastAllocRequest
bool HasInternalBuffer() const
TAString & Append(const TCharSrc *src, integer srcLength)
TAString< TChar, TAllocator > base
The base AString-type.
TLocalString & operator=(const TLocalString ©)
character localBuffer[TCapacity]
TLocalString(const TLocalString ©)
TString< TChar > sBase
The base String-type.
TLocalString(TLocalString &&move) noexcept
TLocalString(const TAppendable &src)
constexpr TLocalString(TAllocator &pAllocator)
constexpr integer Length() const
constexpr const TChar * Buffer() const
constexpr bool IsNull() const
WLocalString< 16 > WString16
Type alias name for TLocalString<wchar,16>.
NLocalString< 128 > NString128
Type alias name for TLocalString<nchar,128>.
LocalString< 512 > String512
Type alias name for TLocalString<character,512>.
NLocalString< 64 > NString64
Type alias name for TLocalString<nchar,64>.
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
NLocalString< 16 > NString16
Type alias name for TLocalString<nchar,16>.
LocalString< 16 > String16
Type alias name for TLocalString<character,16>.
WLocalString< 512 > WString512
Type alias name for TLocalString<wchar,512>.
LocalString< 4096 > String4K
Type alias name for TLocalString<character,4096>.
LocalString< 8192 > String8K
Type alias name for TLocalString<character,8192>.
NLocalString< 2048 > NString2K
Type alias name for TLocalString<nchar,2048>.
LocalString< 128 > String128
Type alias name for TLocalString<character,128>.
strings::TLocalString< character, TCapacity, lang::HeapAllocator > LocalString
Type alias in namespace alib.
LocalString< 64 > String64
Type alias name for TLocalString<character,64>.
NLocalString< 8 > NString8
Type alias name for TLocalString<nchar,8>.
WLocalString< 8 > WString8
Type alias name for TLocalString<wchar,8>.
strings::TLocalString< nchar, TCapacity, lang::HeapAllocator > NLocalString
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
LocalString< 8 > String8
Type alias name for TLocalString<character,8>.
NLocalString< 1024 > NString1K
Type alias name for TLocalString<nchar,1024>.
LocalString< 32 > String32
Type alias name for TLocalString<character,32>.
WLocalString< 128 > WString128
Type alias name for TLocalString<wchar,128>.
WLocalString< 2048 > WString2K
Type alias name for TLocalString<wchar,2048>.
WLocalString< 32 > WString32
Type alias name for TLocalString<wchar,32>.
LocalString< 1024 > String1K
Type alias name for TLocalString<character,1024>.
strings::TLocalString< xchar, TCapacity, lang::HeapAllocator > XLocalString
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
NLocalString< 512 > NString512
Type alias name for TLocalString<nchar,512>.
NLocalString< 256 > NString256
Type alias name for TLocalString<nchar,256>.
strings::TLocalString< strangeChar, TCapacity, lang::HeapAllocator > StrangeLocalString
Type alias in namespace alib.
strings::TLocalString< complementChar, TCapacity, lang::HeapAllocator > ComplementLocalString
Type alias in namespace alib.
NLocalString< 4096 > NString4K
Type alias name for TLocalString<nchar,8192>.
WLocalString< 1024 > WString1K
Type alias name for TLocalString<wchar,1024>.
strings::TLocalString< wchar, TCapacity, lang::HeapAllocator > WLocalString
Type alias in namespace alib.
WLocalString< 64 > WString64
Type alias name for TLocalString<wchar,64>.
NLocalString< 32 > NString32
Type alias name for TLocalString<nchar,32>.
LocalString< 2048 > String2K
Type alias name for TLocalString<character,2048>.
WLocalString< 8192 > WString8K
Type alias name for TLocalString<wchar,8192>.
WLocalString< 4096 > WString4K
Type alias name for TLocalString<wchar,4096>.
NLocalString< 8192 > NString8K
Type alias name for TLocalString<nchar,4096>.
WLocalString< 256 > WString256
Type alias name for TLocalString<wchar,256>.
static constexpr Policy Access
static integer Length(const TStringSource &src)
static constexpr Policy Construction
static const TChar * Buffer(const TStringSource &src)
static constexpr Policy Construction
static constexpr Policy Access
static const TChar * Buffer(const TStringSource &src)
static integer Length(const TStringSource &src)
TLocalStringNoWarning(const String &src)
constexpr TLocalStringNoWarning()
Default constructor.