This simple specialization of TLocalString disables the warning about replacements of the internal buffer in debug-compilations. This may be used in situations, where it is not possible to disable this warning after construction, for example if a local string is emplaced in a container and extensions of it's local capacity are well accepted (for a minority of the emplaced strings).
In release compilations, this type does not exist, but is replaced by a simple using statement.
TChar | The character type. |
TCapacity | The capacity of local, embedded string buffer. |
TAllocator | The allocator to use. |
Definition at line 301 of file localstring.inl.
Public Method Index: | |
constexpr | TLocalStringNoWarning () |
Default constructor. | |
TLocalStringNoWarning (const String &src) | |
![]() | |
constexpr | TLocalString () |
TLocalString (const TAppendable &src) | |
TLocalString (const TLocalString ©) | |
constexpr | TLocalString (TAllocator &pAllocator) |
TLocalString (TLocalString &&move) noexcept | |
TLocalString & | operator= (const TAppendable &src) |
TLocalString & | operator= (const TLocalString ©) |
TLocalString & | operator= (TLocalString &&move) |
![]() | |
constexpr | TAString () |
Constructs an empty, nulled AString (does not allocate a buffer). | |
template<typename TAppendable> | |
TAString (const TAppendable &src) | |
TAString (const TAString ©) | |
constexpr | TAString (TAllocator &pAllocator) |
TAString (TAString &&move) noexcept | |
~TAString () noexcept | |
Destructs an AString object. An internally allocated buffer will be deleted. | |
template<typename T> requires ( alib::characters::IsImplicitArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TAString<TChar,TAllocator>, characters::Policy::Implicit, std::remove_cv_t<T> >::value) | |
constexpr | operator T () const |
template<typename T> requires ( alib::characters::IsExplicitArrayCast <T, TChar> && !alib::characters::IsImplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TAString<TChar,TAllocator>, characters::Policy::ExplicitOnly, std::remove_cv_t<T> >::value ) | |
constexpr | operator T () const |
template<typename T> requires ( !alib::characters::IsImplicitArrayCast <T, TChar> && alib::characters::IsImplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TAString<TChar,TAllocator>, characters::Policy::Implicit, std::remove_cv_t<T> >::value ) | |
constexpr | operator T () const |
template<typename T> requires ( !alib::characters::IsExplicitArrayCast <T, TChar> && alib::characters::IsExplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TAString<TChar,TAllocator>, characters::Policy::ExplicitOnly, std::remove_cv_t<T> >::value ) | |
constexpr | operator T () const |
TAString & | operator= (const TAString ©) |
void | dbgCheck () const |
void | DbgDisableBufferReplacementWarning () |
ALIB_DLL void | SetBuffer (integer newCapacity) |
ALIB_DLL void | SetBuffer (TChar *extBuffer, integer extBufferSize, integer extLength=0, lang::Responsibility responsibility=lang::Responsibility::KeepWithSender) |
void | EnsureRemainingCapacity (integer spaceNeeded) |
ALIB_DLL void | GrowBufferAtLeastBy (integer minimumGrowth) |
integer | Capacity () const |
bool | HasInternalBuffer () const |
void | SetNull () |
Invokes SetBuffer(0). | |
constexpr const TChar * | Terminate () const |
TChar * | VBuffer () const |
template<typename TCheck = CHK> | |
void | SetCharAt (integer idx, TChar c) |
TChar & | operator[] (integer idx) |
void | SetLength (integer newLength) |
void | DetectLength () |
TAString & | ShortenTo (integer newLength) |
TChar | operator[] (integer idx) const |
template<typename TCheck = CHK, typename TCharSrc> requires ( characters::IsCharacter<TCharSrc> && !std::same_as<TCharSrc,TChar> ) | |
TAString & | Append (const TCharSrc *src, integer srcLength) |
template<typename TCheck = CHK> | |
TAString & | Append (const TChar *src, integer srcLength) |
template<typename TCheck = CHK> | |
TAString & | Append (const TString< TChar > &src, integer regionStart, integer regionLength=MAX_LEN) |
template<typename TCheck = CHK, typename TAppendable> requires alib::strings::IsAppendable<TAppendable, TChar,TAllocator> | |
TAString & | Append (const TAppendable &src) |
template<typename TCheck = CHK, typename TStringSource> requires ( alib::characters::IsImplicitZTArraySource<TStringSource, characters::ZTType<TStringSource>> || alib::characters::IsImplicitArraySource <TStringSource, characters::Type<TStringSource>> ) | |
TAString & | Append (const TStringSource &src) |
TAString & | NewLine () |
template<typename TCheck = CHK> | |
TAString & | Append (TChar src) |
template<typename TCheck = CHK> | |
TAString & | Append (characters::IsCharacter auto src) |
template<typename TCheck = CHK, class TAppendable> | |
TAString & | _ (const TAppendable &src) |
template<typename TCheck = CHK> | |
TAString & | _ (const TString< TChar > &src, integer regionStart, integer regionLength=MAX_LEN) |
template<typename TAppendable> | |
TAString & | operator<< (const TAppendable &src) |
template<typename TAppendable> | |
TAString & | operator+= (const TAppendable &src) |
TAString & | Reset () |
template<typename TCheck = CHK, typename TAppendable> | |
TAString & | Reset (const TAppendable &src) |
TAString & | _ () |
template<typename TCheck = CHK> | |
TAString & | InsertAt (const TString< TChar > &src, integer pos) |
template<typename TCheck = CHK> | |
TAString & | InsertChars (TChar c, integer qty) |
template<typename TCheck = CHK> | |
TAString & | InsertChars (TChar c, integer qty, integer pos) |
template<typename TCheck = CHK> | |
TAString & | Delete (integer regionStart, integer regionLength=MAX_LEN) |
template<typename TCheck = CHK> | |
TAString & | DeleteStart (integer regionLength) |
TAString & | DeleteStart (const TString< TChar > &deleteIfMatch) |
template<typename TCheck = CHK> | |
TAString & | DeleteEnd (integer regionLength) |
TAString & | DeleteEnd (const TString< TChar > &deleteIfMatch) |
ALIB_DLL TAString & | Trim (const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces()) |
ALIB_DLL integer | TrimAt (integer idx, const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces()) |
TAString & | TrimStart (const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces()) |
TAString & | TrimEnd (const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces()) |
iterator | begin () |
iterator | end () |
reverse_iterator | rbegin () |
reverse_iterator | rend () |
constexpr void | push_back (TChar ch) |
constexpr TChar | pop_back () |
template<typename TCheck = CHK> | |
TAString & | ReplaceSubstring (const TString< TChar > &src, integer regionStart, integer regionLength) |
template<typename TCheck = CHK> | |
TAString & | ReplaceRegion (TChar c, integer regionStart, integer regionLength) |
ALIB_DLL integer | SearchAndReplace (TChar needle, TChar replacement, integer startIdx=0, integer endIdx=strings::MAX_LEN) |
ALIB_DLL integer | SearchAndReplace (const TString< TChar > &needle, const TString< TChar > &replacement, integer startIdx=0, integer maxReplacements=strings::MAX_LEN, lang::Case sensitivity=lang::Case::Sensitive, integer endIdx=strings::MAX_LEN) |
template<typename TCheck = CHK> | |
TAString & | ToUpper (integer regionStart=0, integer regionLength=MAX_LEN) |
template<typename TCheck = CHK> | |
TAString & | ToLower (integer regionStart=0, integer regionLength=MAX_LEN) |
template<typename TCheck = CHK> | |
TAString & | Reverse (integer regionStart=0, integer regionLength=MAX_LEN) |
const_iterator | begin () const |
const_iterator | end () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
![]() | |
constexpr | TString () noexcept=default |
template<typename T> requires alib::characters::IsImplicitArraySource<T, TChar> | |
constexpr | TString (const T &src) noexcept |
template<typename T> requires alib::characters::IsExplicitArraySource<T, TChar> | |
constexpr | TString (const T &src) noexcept |
constexpr | TString (const TChar *pBuffer, integer pLength) noexcept |
constexpr | TString (const TString &) noexcept=default |
Defaulted copy constructor. | |
TString (const_iterator &start, const_iterator &end) | |
constexpr | TString (lang::IsNullptr auto const &) noexcept |
Constructor accepting nullptr . Constructs a nulled string. | |
template<typename T> requires alib::characters::IsMutableArraySource<T, TChar> | |
constexpr | TString (T &src) noexcept |
template<typename TAllocator> requires alib::lang::IsAllocator<TAllocator> | |
TString (TAllocator &allocator, const TString< TChar > ©) | |
constexpr | TString (TString &&) noexcept=default |
Defaulted move constructor. | |
template<typename T> requires ( alib::characters::IsImplicitArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TString<TChar>, characters::Policy::Implicit, std::remove_cv_t<T> >::value ) | |
constexpr | operator T () const |
template<typename T> requires ( alib::characters::IsExplicitArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TString<TChar>, characters::Policy::ExplicitOnly, std::remove_cv_t<T> >::value ) | |
constexpr | operator T () const |
constexpr TString & | operator= (const TString &) noexcept=default |
constexpr TString & | operator= (TString &&) noexcept=default |
constexpr const TChar * | Buffer () const |
constexpr integer | Length () const |
integer | WStringLength () const |
constexpr bool | IsNull () const |
constexpr bool | IsNotNull () const |
constexpr bool | IsEmpty () const |
constexpr bool | IsNotEmpty () const |
template<typename TCheck = CHK> | |
TString< TChar > | Substring (integer regionStart, integer regionLength=MAX_LEN) const |
template<typename TCheck = CHK> | |
TChar | CharAt (integer idx) const |
template<typename TCheck = CHK> | |
TChar | CharAtStart () const |
template<typename TCheck = CHK> | |
TChar | CharAtEnd () const |
TChar | operator[] (integer idx) const |
std::size_t | Hashcode () const |
std::size_t | HashcodeIgnoreCase () const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
bool | Equals (const TString< TChar > &rhs) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
int | CompareTo (const TString< TChar > &rhs) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
int | CompareTo (const TString &rhs, integer rhsRegionStart, integer rhsRegionLength=MAX_LEN) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
int | CompareTo (const TString &rhs, integer rhsRegionStart, integer rhsRegionLength, integer regionStart, integer regionLength=MAX_LEN) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
bool | ContainsAt (const TString &needle, integer pos) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
bool | StartsWith (const TString &needle) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
bool | EndsWith (const TString &needle) const |
template<typename TCheck = CHK> | |
integer | IndexOf (TChar needle, integer startIdx=0) const |
template<typename TCheck = CHK> | |
integer | IndexOf (TChar needle, integer regionStart, integer regionLength) const |
integer | IndexOfOrLength (TChar needle) const |
template<typename TCheck = CHK> | |
integer | IndexOfOrLength (TChar needle, integer startIdx) const |
template<typename TCheck = CHK> | |
integer | LastIndexOf (TChar needle, integer startIndex=MAX_LEN) const |
template<lang::Inclusion TInclusion, typename TCheck = CHK> | |
integer | IndexOfAny (const TString &needles, integer startIdx=0) const |
template<lang::Inclusion TInclusion, typename TCheck = CHK> | |
integer | LastIndexOfAny (const TString &needles, integer startIdx=MAX_LEN) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
integer | IndexOf (const TString &needle, integer startIdx=0, integer endIdx=strings::MAX_LEN) const |
template<typename TCheck = CHK> | |
integer | IndexOfFirstDifference (const TString &needle, lang::Case sensitivity=lang::Case::Sensitive, integer startIdx=0) const |
integer | IndexOfSegmentEnd (TChar opener, TChar closer, integer idx) const |
template<typename TCheck = CHK> | |
integer | CountChar (TChar needle, integer startPos=0) const |
template<typename TCheck = CHK> | |
integer | CountChar (TChar needle, TChar omit, integer startPos) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
integer | Count (const TString &needle, integer startPos=0) const |
template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> | |
integer | Count (const TString &needle, const TString &omit, integer startPos=0) const |
ALIB_DLL uint64_t | ParseDecDigits (integer startIdx=0, integer *newIdx=nullptr) const |
ALIB_DLL int64_t | ParseInt (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
int64_t | ParseInt (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
int64_t | ParseInt (integer *newIdx) const |
int64_t | ParseInt (integer startIdx, integer *newIdx) const |
ALIB_DLL uint64_t | ParseDec (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
uint64_t | ParseDec (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
uint64_t | ParseDec (integer *newIdx) const |
uint64_t | ParseDec (integer startIdx, integer *newIdx) const |
ALIB_DLL uint64_t | ParseBin (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
uint64_t | ParseBin (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
uint64_t | ParseBin (integer *newIdx) const |
uint64_t | ParseBin (integer startIdx, integer *newIdx) const |
ALIB_DLL uint64_t | ParseHex (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
uint64_t | ParseHex (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
uint64_t | ParseHex (integer *newIdx) const |
uint64_t | ParseHex (integer startIdx, integer *newIdx) const |
ALIB_DLL uint64_t | ParseOct (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
uint64_t | ParseOct (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
uint64_t | ParseOct (integer *newIdx) const |
uint64_t | ParseOct (integer startIdx, integer *newIdx) const |
ALIB_DLL double | ParseFloat (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
double | ParseFloat (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
double | ParseFloat (integer *newIdx) const |
double | ParseFloat (integer startIdx, integer *newIdx) const |
integer | CopyTo (TChar *dest) const |
template<typename TAllocator> requires alib::lang::IsAllocator<TAllocator> | |
void | Allocate (TAllocator &allocator, const TString< TChar > ©) |
template<typename TAllocator> requires alib::lang::IsAllocator<TAllocator> | |
void | Free (TAllocator &allocator) |
const_iterator | begin () const |
const_iterator | cbegin () const |
const_iterator | end () const |
const_iterator | cend () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | crend () const |
size_type | size () const |
bool | AdjustRegion (integer ®ionStart, integer ®ionLength) const |
![]() | |
AllocatorMember ()=delete | |
Deleted default constructor. (The allocator has to be given with construction) | |
AllocatorMember (TAllocator &pAllocator) noexcept | |
AllocatorInterface< TAllocator > | AI () const noexcept |
TAllocator & | GetAllocator () const noexcept |
Additional Inherited Members | |
![]() | |
using | AllocatorType = TAllocator |
Exposes the allocator type specified by template parameter TAllocator. | |
using | iterator = typename base::template TRandomAccessIterator<TChar> |
using | reverse_iterator = std::reverse_iterator<iterator> |
Same as iterator, but working from the end to the start of the string. | |
![]() | |
using | size_type = integer |
The type defining sizes of strings. | |
using | value_type = TChar |
Exposes template parameter TChar to the outer world in a std compatible way. | |
using | const_iterator = TRandomAccessIterator<const TChar> |
using | const_reverse_iterator = std::reverse_iterator<const_iterator> |
![]() | |
using | AllocatorType = TAllocator |
Exposes the allocator type. | |
![]() | |
using | base |
The base AString-type. | |
using | sBase |
The base String-type. | |
![]() | |
using | allocBase = lang::AllocatorMember<TAllocator> |
The allocator type that TAllocator specifies. | |
using | base = TString<TChar> |
The base string-type. | |
![]() | |
TChar | localBuffer [TCapacity] |
![]() | |
integer | capacity |
bool | dbgWarnWhenExternalBufferIsReplaced = true |
integer | debugLastAllocRequest =0 |
![]() | |
const TChar * | buffer |
integer | length |
![]() | |
TAllocator & | allocator |
A reference to the allocator. | |
![]() | |
constexpr | TAString (TAllocator &pAllocator, TChar *extBuffer, integer extBufferSize) |
constexpr | TAString (TChar *extBuffer, integer extBufferSize) |
![]() | |
template<lang::Case TSensitivity = lang::Case::Sensitive> | |
ALIB_DLL integer | indexOfString (const TString &needle, integer startIdx, integer endIdx) const |
|
inlineconstexpr |
Default constructor.
Definition at line 305 of file localstring.inl.
|
inline |
Constructor taking a string to copy.
src | The string to copy into this object. |
Definition at line 313 of file localstring.inl.