template<typename TChar>
class alib::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 accepting 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 of 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 36 of file stringnzt.inl.
|
| template<typename T> |
| constexpr | TStringNZT (const T *src) |
| template<typename T> |
| constexpr | TStringNZT (const T src) |
| constexpr | TStringNZT (const TChar *pBuffer, integer pLength) |
| template<typename T> |
| constexpr | TStringNZT (T &src) |
| template<typename T> |
| constexpr | TStringNZT (T *src) |
| constexpr | TString () noexcept=default |
| template<typename T> |
| 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> |
| constexpr | TString (T &src) noexcept |
| template<typename TAllocator> |
| | TString (TAllocator &allocator, const TString< TChar > ©) |
|
constexpr | TString (TString &&) noexcept=default |
| | Defaulted move constructor.
|
| bool | AdjustRegion (integer ®ionStart, integer ®ionLength) const |
| template<typename TAllocator> |
| void | Allocate (TAllocator &allocator, const TString< TChar > ©) |
| const_iterator | begin () const |
| constexpr const TChar * | Buffer () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| template<typename TCheck = CHK> |
| TChar | CharAt (integer idx) const |
| template<typename TCheck = CHK> |
| TChar | CharAtEnd () const |
| template<typename TCheck = CHK> |
| TChar | CharAtStart () 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> |
| 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< TChar > &rhs) const |
| template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> |
| bool | ContainsAt (const TString &needle, integer pos) const |
| integer | CopyTo (TChar *dest) const |
| template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> |
| integer | Count (const TString &needle, const TString &omit, integer startPos=0) const |
| template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> |
| integer | Count (const TString &needle, integer startPos=0) 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 |
| const_reverse_iterator | crbegin () const |
| const_reverse_iterator | crend () const |
| const_iterator | end () const |
| template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> |
| bool | EndsWith (const TString &needle) const |
| template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> |
| bool | Equals (const TString< TChar > &rhs) const |
| template<typename TAllocator> |
| void | Free (TAllocator &allocator) |
| std::size_t | Hashcode () const |
| std::size_t | HashcodeIgnoreCase () 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 | IndexOf (TChar needle, integer regionStart, integer regionLength) const |
| template<typename TCheck = CHK> |
| integer | IndexOf (TChar needle, integer startIdx=0) const |
| template<lang::Inclusion TInclusion, typename TCheck = CHK> |
| integer | IndexOfAny (const TString &needles, integer startIdx=0) const |
| template<typename TCheck = CHK> |
| integer | IndexOfFirstDifference (const TString &needle, lang::Case sensitivity=lang::Case::Sensitive, integer startIdx=0) const |
| integer | IndexOfOrLength (TChar needle) const |
| template<typename TCheck = CHK> |
| integer | IndexOfOrLength (TChar needle, integer startIdx) const |
| integer | IndexOfSegmentEnd (TChar opener, TChar closer, integer idx) const |
| constexpr bool | IsEmpty () const |
| constexpr bool | IsNotEmpty () const |
| constexpr bool | IsNotNull () const |
| constexpr bool | IsNull () const |
| template<typename TCheck = CHK> |
| integer | LastIndexOf (TChar needle, integer startIndex=MAX_LEN) const |
| template<lang::Inclusion TInclusion, typename TCheck = CHK> |
| integer | LastIndexOfAny (const TString &needles, integer startIdx=MAX_LEN) const |
| constexpr integer | Length () const |
| template<typename T> |
| constexpr | operator T () const |
| constexpr TString & | operator= (const TString &) noexcept=default |
| constexpr TString & | operator= (TString &&) noexcept=default |
| TChar | operator[] (integer idx) const |
| uint64_t | ParseBin (integer *newIdx) const |
| uint64_t | ParseBin (integer startIdx, integer *newIdx) const |
| 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 | ParseDec (integer *newIdx) const |
| uint64_t | ParseDec (integer startIdx, integer *newIdx) const |
| 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 | ParseDecDigits (integer startIdx=0, integer *newIdx=nullptr) const |
| double | ParseFloat (integer *newIdx) const |
| double | ParseFloat (integer startIdx, integer *newIdx) const |
| double | ParseFloat (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
| double | ParseFloat (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
| uint64_t | ParseHex (integer *newIdx) const |
| uint64_t | ParseHex (integer startIdx, integer *newIdx) const |
| uint64_t | ParseHex (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
| uint64_t | ParseHex (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
| int64_t | ParseInt (integer *newIdx) const |
| int64_t | ParseInt (integer startIdx, integer *newIdx) const |
| int64_t | ParseInt (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
| int64_t | ParseInt (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
| uint64_t | ParseOct (integer *newIdx) const |
| uint64_t | ParseOct (integer startIdx, integer *newIdx) const |
| uint64_t | ParseOct (integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const |
| uint64_t | ParseOct (TNumberFormat< TChar > *numberFormat, integer *newIdx=nullptr) const |
| const_reverse_iterator | rbegin () const |
| const_reverse_iterator | rend () const |
| size_type | size () const |
| template<typename TCheck = CHK, lang::Case TSensitivity = lang::Case::Sensitive> |
| bool | StartsWith (const TString &needle) const |
| template<typename TCheck = CHK> |
| TString< TChar > | Substring (integer regionStart, integer regionLength=MAX_LEN) const |
| integer | WStringLength () const |