template<typename TChar>
class aworx::lib::strings::TStringNZT< TChar >
This is rather a helper class than a genuine string class. While derived from class String, no extension of its interface is offered. Instead, the templated constructor is limited to accept only string types that are not zero-terminated.
The class is designed to be used to create API interfaces (i.e. overloaded methods) that accept zero-terminated strings of type CString independently from non-zero-terminated strings: If two overloaded methods accepted type String and CString alternatively, compilation would be ambiguous because the String version would accept zero-terminated strings as well. Therefore, overloaded methods rather must accept this class and CString.
- See also
- Details and a quick sample are given in chapter 4. Non-Zero-Terminated String Detection of the Programmer's Manual of module ALib Strings.
- Template Parameters
-
Definition at line 47 of file strings/fwds.hpp.
|
|
|
|
| constexpr | TStringNZT (const TChar *pBuffer, integer pLength) |
| |
| template<typename TCharArray > |
| constexpr | TStringNZT (const TCharArray &src) |
| |
| constexpr | TString () noexcept=default |
| |
| constexpr | TString (const TString &) noexcept=default |
| |
| constexpr | TString (TString &&) noexcept=default |
| |
| TString & | operator= (const TString &) noexcept=default |
| |
| TString & | operator= (TString &&) noexcept=default |
| |
| constexpr | TString (const TChar *pBuffer, integer pLength) noexcept |
| |
| template<typename TCharArray > |
| constexpr | TString (const TCharArray &src) |
| |
| template<typename TCharArray > |
| | operator TCharArray () const |
| |
| template<typename TCharArray > |
| | operator TCharArray () const |
| |
| template<bool TCheck = true> |
| ALIB_WARNINGS_IGNORE_IF_CONSTEXPR TString< TChar > | Substring (integer regionStart, integer regionLength=MAX_LEN) const |
| |
| 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<bool TCheck = true> |
| TChar | CharAt (integer idx) const |
| |
| template<bool TCheck = true> |
| TChar | CharAtStart () const |
| |
| template<bool TCheck = true> |
| TChar | CharAtEnd () const |
| |
| TChar | operator[] (integer idx) const |
| |
| std::size_t | Hashcode () const |
| |
| std::size_t | HashcodeIgnoreCase () const |
| |
| template<Case TSensitivity = Case::Sensitive> |
| bool | Equals (const TString< TChar > &rhs) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| int | CompareTo (const TString< TChar > &rhs) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| int | CompareTo (const TString &rhs, integer rhsRegionStart, integer rhsRegionLength=MAX_LEN) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| int | CompareTo (const TString &rhs, integer rhsRegionStart, integer rhsRegionLength, integer regionStart, integer regionLength=MAX_LEN) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| bool | ContainsAt (const TString &needle, integer pos) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| bool | StartsWith (const TString &needle) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| bool | EndsWith (const TString &needle) const |
| |
| template<bool TCheck = true> |
| integer | IndexOf (TChar needle, integer startIdx=0) const |
| |
| template<bool TCheck = true> |
| integer | IndexOf (TChar needle, integer regionStart, integer regionLength) const |
| |
| integer | IndexOfOrLength (TChar needle) const |
| |
| template<bool TCheck = true> |
| ALIB_WARNINGS_ALLOW_UNSAFE_BUFFER_USAGE integer | IndexOfOrLength (TChar needle, integer startIdx) const |
| |
| template<bool TCheck = true> |
| ALIB_WARNINGS_RESTORE integer | LastIndexOf (TChar needle, integer startIndex=MAX_LEN) const |
| |
| template<Inclusion TInclusion, bool TCheck = true> |
| integer | IndexOfAny (const TString &needles, integer startIdx=0) const |
| |
| template<Inclusion TInclusion, bool TCheck = true> |
| integer | LastIndexOfAny (const TString &needles, integer startIdx=MAX_LEN) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| integer | IndexOf (const TString &needle, integer startIdx=0) const |
| |
| template<bool TCheck = true> |
| integer | IndexOfFirstDifference (const TString &needle, Case sensitivity=Case::Sensitive, integer idx=0) const |
| |
| integer | IndexOfSegmentEnd (TChar opener, TChar closer, integer idx) const |
| |
| template<bool TCheck = true> |
| integer | CountChar (TChar needle, integer startPos=0) const |
| |
| template<bool TCheck = true> |
| integer | CountChar (TChar needle, TChar omit, integer startPos) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| integer | Count (const TString &needle, integer startPos=0) const |
| |
| template<bool TCheck = true, Case TSensitivity = Case::Sensitive> |
| integer | Count (const TString &needle, const TString &omit, integer startPos=0) const |
| |
| ALIB_API uint64_t | ParseDecDigits (integer startIdx=0, integer *newIdx=nullptr) const |
| |
| ALIB_API 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_API 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_API 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_API 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_API 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_API 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 |
| |
| bool | AdjustRegion (integer ®ionStart, integer ®ionLength) const |
| |
| ConstIterator | begin () const |
| |
| ConstIterator | cbegin () const |
| |
| ALIB_WARNINGS_ALLOW_UNSAFE_BUFFER_USAGE ConstIterator | end () const |
| |
| ConstIterator | cend () const |
| |
| ALIB_WARNINGS_RESTORE ConstReverseIterator | rbegin () const |
| |
| ConstReverseIterator | rend () const |
| |
| ConstReverseIterator | crbegin () const |
| |
| ConstReverseIterator | crend () const |
| |
| | TString (ConstIterator &start, ConstIterator &end) |
| |