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) | |
Public Method Index: inherited from alib::strings::TLocalString< TChar, TCapacity, TAllocator > | |
| 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) |
Public Method Index: inherited from alib::strings::TAString< TChar, TAllocator > | |
| 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 |
Public Method Index: inherited from alib::strings::TString< TChar > | |
| 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 |
Public Method Index: inherited from alib::lang::AllocatorMember< TAllocator > | |
| 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 | |
Public Type Index: inherited from alib::strings::TAString< TChar, TAllocator > | |
| 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. | |
Public Type Index: inherited from alib::strings::TString< TChar > | |
| 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> |
Public Type Index: inherited from alib::lang::AllocatorMember< TAllocator > | |
| using | AllocatorType = TAllocator |
| Exposes the allocator type. | |
Protected Type Index: inherited from alib::strings::TLocalString< TChar, TCapacity, TAllocator > | |
| using | base |
| The base AString-type. | |
| using | sBase |
| The base String-type. | |
Protected Type Index: inherited from alib::strings::TAString< TChar, TAllocator > | |
| using | allocBase = lang::AllocatorMember<TAllocator> |
| The allocator type that TAllocator specifies. | |
| using | base = TString<TChar> |
| The base string-type. | |
Protected Field Index: inherited from alib::strings::TLocalString< TChar, TCapacity, TAllocator > | |
| TChar | localBuffer [TCapacity] |
Protected Field Index: inherited from alib::strings::TAString< TChar, TAllocator > | |
| integer | capacity |
| bool | dbgWarnWhenExternalBufferIsReplaced = true |
| integer | debugLastAllocRequest =0 |
Protected Field Index: inherited from alib::strings::TString< TChar > | |
| const TChar * | buffer |
| integer | length |
Protected Field Index: inherited from alib::lang::AllocatorMember< TAllocator > | |
| TAllocator & | allocator |
| A reference to the allocator. | |
Protected Method Index: inherited from alib::strings::TAString< TChar, TAllocator > | |
| constexpr | TAString (TAllocator &pAllocator, TChar *extBuffer, integer extBufferSize) |
| constexpr | TAString (TChar *extBuffer, integer extBufferSize) |
Protected Method Index: inherited from alib::strings::TString< TChar > | |
| 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.