ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::strings::TCString< TChar > Class Template Reference

Description:

template<typename TChar>
class alib::strings::TCString< TChar >

This class specializes its base class String in that respect that the character strings represented are guaranteed to be zero-terminated.
Zero-terminated strings are widely used by programming language C and are often called "C-strings", what gave the class its name.

See also
For an introduction into the ALib string classes see this module's Programmer's Manual.
Template Parameters
TCharThe character type of this string.

Definition at line 30 of file cstring.inl.

Inheritance diagram for alib::strings::TCString< TChar >:
[legend]
Collaboration diagram for alib::strings::TCString< TChar >:
[legend]

Public Method Index:

constexpr TCString ()=default
 Defaulted default constructor. Leaves this instance uninitialized and undefined.
 
template<typename T>
requires alib::characters::IsImplicitZTArraySource<T, TChar>
constexpr TCString (const T &src)
 
template<typename T>
requires alib::characters::IsImplicitZTArraySource<T, TChar>
constexpr TCString (const T *src)
 
constexpr TCString (const TChar *pBuffer, integer contentLength)
 
constexpr TCString (lang::IsNullptr auto const &) noexcept
 Constructor accepting nullptr. Constructs a nulled string.
 
template<typename T>
requires alib::characters::IsExplicitZTArraySource<T, TChar>
constexpr TCString (T &src)
 
template<typename T>
requires alib::characters::IsMutableZTArraySource<T, TChar>
constexpr TCString (T &src)
 
template<typename T>
requires alib::characters::IsExplicitZTArraySource<T, TChar>
constexpr TCString (T *src)
 
template<typename T>
requires alib::characters::IsMutableZTArraySource<T, TChar>
constexpr TCString (T *src)
 
template<typename TAllocator>
requires alib::lang::IsAllocator<TAllocator>
 TCString (TAllocator &allocator, const TString< TChar > &copy)
 
template<typename TAllocator>
requires alib::lang::IsAllocator<TAllocator>
void Allocate (TAllocator &allocator, const TString< TChar > &copy)
 
template<typename TAllocator>
requires alib::lang::IsAllocator<TAllocator>
void Free (TAllocator &allocator) const
 
template<lang::Inclusion TInclusion, typename TCheck = CHK>
integer IndexOfAny (const TCString &needles, integer startIdx=0) const
 
template<typename T>
requires ( alib::characters::IsImplicitArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TCString<TChar>, 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::characters::IsExplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TCString<TChar>, 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< TCString<TChar>, characters::Policy::Implicit, std::remove_cv_t<T> >::value )
constexpr operator T () const
 
template<typename T>
requires ( alib::characters::IsExplicitZTArrayCast<T, TChar> && !alib::characters::IsImplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TCString<TChar>, characters::Policy::ExplicitOnly, std::remove_cv_t<T> >::value )
constexpr operator T () const
 
TChar operator[] (integer op) 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 > &copy)
 
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 TStringoperator= (const TString &) noexcept=default
 
constexpr TStringoperator= (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 > &copy)
 
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 &regionStart, integer &regionLength) const
 

Protected Type Index:

using base = TString<TChar>
 Shortcut to the base type.
 

Additional Inherited Members

- 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>
 
- Protected Field Index: inherited from alib::strings::TString< TChar >
const TChar * buffer
 
integer length
 
- 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
 

Type Definition Details:

◆ base

template<typename TChar>
using alib::strings::TCString< TChar >::base = TString<TChar>
protected

Shortcut to the base type.

Definition at line 34 of file cstring.inl.

Constructor(s) / Destructor Details:

◆ TCString() [1/9]

template<typename TChar>
alib::strings::TCString< TChar >::TCString ( const TChar * pBuffer,
integer contentLength )
inlineexplicitconstexpr

Constructor accepting a pointer to a character array and a string length.

Note
It is a user's responsibility to ensure that the character array provided includes a terminating '\0' character.
In debug-compilations a run-time assertion is raised if the provided buffer is not zero-terminated.
Parameters
pBufferThe buffer to use.
contentLengthThe length of the content in the given buffer.

Definition at line 50 of file cstring.inl.

◆ TCString() [2/9]

template<typename TChar>
alib::strings::TCString< TChar >::TCString ( lang::IsNullptr auto const & )
inlineconstexprnoexcept

Constructor accepting nullptr. Constructs a nulled string.

Definition at line 62 of file cstring.inl.

◆ TCString() [3/9]

template<typename TChar>
template<typename T>
requires alib::characters::IsImplicitZTArraySource<T, TChar>
alib::strings::TCString< TChar >::TCString ( const T & src)
inlineconstexpr

Templated implicit constructor accepting a const reference to an object of a type that satisfies the concept IsImplicitZTArraySource.

Custom types can be enabled for this constructor by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this constructor itself.

Template Parameters
TThe type of the given src. Requires satisfying the concept IsImplicitZTArraySource. Deduced by the compiler.
Parameters
srcThe source of the string data to copy.

Definition at line 78 of file cstring.inl.

◆ TCString() [4/9]

template<typename TChar>
template<typename T>
requires alib::characters::IsImplicitZTArraySource<T, TChar>
alib::strings::TCString< TChar >::TCString ( const T * src)
inlineconstexpr

Templated implicit constructor accepting a const pointer to an object of a type that satisfies the concept IsImplicitZTArraySource.

Custom types can be enabled for this constructor by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this constructor itself.

Template Parameters
TThe type of the given src. Requires satisfying the concept IsImplicitZTArraySource. Deduced by the compiler.
Parameters
srcA pointer to the source of the string data to copy.

Definition at line 103 of file cstring.inl.

◆ TCString() [5/9]

template<typename TChar>
template<typename T>
requires alib::characters::IsExplicitZTArraySource<T, TChar>
alib::strings::TCString< TChar >::TCString ( T & src)
inlineexplicitconstexpr

Templated explicit constructor accepting a const reference to an object of a type that satisfies the concept IsExplicitZTArraySource.

Custom types can be enabled for this constructor by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this constructor itself.

Template Parameters
TThe type of the given src. Requires satisfying the concept IsExplicitZTArraySource. Deduced by the compiler.
Parameters
srcThe source of the string data to copy.

Definition at line 126 of file cstring.inl.

◆ TCString() [6/9]

template<typename TChar>
template<typename T>
requires alib::characters::IsExplicitZTArraySource<T, TChar>
alib::strings::TCString< TChar >::TCString ( T * src)
inlineexplicitconstexpr

Templated explicit constructor accepting a const pointer to an object of a type that satisfies the concept IsExplicitZTArraySource.

Custom types can be enabled for this constructor by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this constructor itself.

Template Parameters
TThe type of the given src. Requires satisfying the concept IsExplicitZTArraySource. Deduced by the compiler.
Parameters
srcA pointer to the source of the string data to copy.

Definition at line 151 of file cstring.inl.

◆ TCString() [7/9]

template<typename TChar>
template<typename T>
requires alib::characters::IsMutableZTArraySource<T, TChar>
alib::strings::TCString< TChar >::TCString ( T & src)
inlineexplicitconstexpr

Templated explicit constructor accepting a mutable reference to an object of a type that satisfies the concept IsMutableZTArraySource.

Custom types can be enabled for this constructor by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this constructor itself.

Template Parameters
TThe type of the given src. Requires satisfying the concept IsMutableZTArraySource. Deduced by the compiler.
Parameters
srcThe source of the string data to copy.

Definition at line 176 of file cstring.inl.

◆ TCString() [8/9]

template<typename TChar>
template<typename T>
requires alib::characters::IsMutableZTArraySource<T, TChar>
alib::strings::TCString< TChar >::TCString ( T * src)
inlineexplicitconstexpr

Templated explicit constructor accepting a mutable pointer to an object of a type that satisfies the concept IsMutableZTArraySource.

Custom types can be enabled for this constructor by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this constructor itself.

Template Parameters
TThe type of the given src. Requires satisfying the concept IsMutableZTArraySource. Deduced by the compiler.
Parameters
srcA pointer to the source of the string data to copy.

Definition at line 201 of file cstring.inl.

◆ TCString() [9/9]

template<typename TChar>
template<typename TAllocator>
requires alib::lang::IsAllocator<TAllocator>
alib::strings::TCString< TChar >::TCString ( TAllocator & allocator,
const TString< TChar > & copy )
inline

Constructor which allocates memory including an extra character for zero-termination, copies the given string's contents and lets this CString represent this new zero-terminated character array.
Note that it is up to the using code to duly deallocate the memory, because the destructor of this type does not do so.

See also
Methods Allocate and Free for information how to use allocated string objects.
Template Parameters
TAllocatorThe type of the given allocator, as prototyped with Allocator. Deduced by the compiler.
Parameters
allocatorThe allocator to use.
copyThe string to copy to the new memory allocated.

Definition at line 227 of file cstring.inl.

Method Details:

◆ Allocate()

template<typename TChar>
template<typename TAllocator>
requires alib::lang::IsAllocator<TAllocator>
void alib::strings::TCString< TChar >::Allocate ( TAllocator & allocator,
const TString< TChar > & copy )
inline

Sets this object to a zero-terminated copy of the given string, allocated in given allocator.

Note
In case given copy is empty or nulled, no allocation is performed and this string is set to empty. Still the pointer to the buffer is copied. Thus, this string behaves in respect to method IsNull the same as given string copy.
Template Parameters
TAllocatorThe type of the given allocator, as prototyped with Allocator. Deduced by the compiler.
Parameters
allocatorThe allocator to use.
copyThe string to copy to the new memory allocated.

Definition at line 441 of file cstring.inl.

◆ Free()

template<typename TChar>
template<typename TAllocator>
requires alib::lang::IsAllocator<TAllocator>
void alib::strings::TCString< TChar >::Free ( TAllocator & allocator) const
inline

Deallocates this String's memory in allocator and sets this instance to nulled.

See also
Notes in the similar method TString::Free of the base class, which apply with this override likewise.
Template Parameters
TAllocatorThe type of the given allocator, as prototyped with Allocator. Deduced by the compiler.
Parameters
allocatorThe allocator to use.

Definition at line 465 of file cstring.inl.

◆ IndexOfAny()

template<typename TChar>
template<lang::Inclusion TInclusion, typename TCheck = CHK>
integer alib::strings::TCString< TChar >::IndexOfAny ( const TCString< TChar > & needles,
integer startIdx = 0 ) const
inline

Returns the index of the first character which is included, respectively not included in a given set of characters.

This method searches forwards. For backwards search, see String::LastIndexOfAny.

Note
This method overrides method String::IndexOf. This implementation however expects a CString with parameter needles (beside the fact that it has to be invoked on a CString itself). If no zero-terminated needle string is available, the parent's original method needs to be invoked. This has to be done by explicitly naming the parent class in the invocation, like for example in
   myCString.TString::IndexOfAny<Inclusion::Include>( myString );
On most platforms, this zero-terminated version should perform slightly faster than the original method in class String.
Template Parameters
TCheckDefaults to CHK, which is the normal invocation mode. If <false> is added to the method name, no parameter checks are performed and the needles must not be empty.
TInclusionDenotes whether the search returns the first index that holds a value that is included or that is not excluded in the set of needle characters.
Parameters
needlesSet of characters to be taken into account.
startIdxThe index to start the search at. If the given value is less than 0, it is set to 0. If it exceeds the length of the string, the length of the string is returned. Defaults to 0.
Returns
The index of the first character found which is included, respectively not included, in the given set of characters. If nothing is found, -1 is returned.

Definition at line 394 of file cstring.inl.

◆ operator T() [1/4]

template<typename TChar>
template<typename T>
requires ( alib::characters::IsImplicitArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TCString<TChar>, characters::Policy::Implicit, std::remove_cv_t<T> >::value )
alib::strings::TCString< TChar >::operator T ( ) const
inlineconstexpr

Templated implicit cast operator constructing an instance of type T from this string instance. This operator requires the type T satisfying the concept IsImplicitZTArrayCast.

Custom types can be enabled for this operator by specializing the traits-type ArrayTraits, which is used for both; the implementation of the concept, and the implementation of this operator itself.

Template Parameters
TThe type to implicitly cast this instance to. Requires satisfying the concept IsImplicitZTArrayCast. Deduced by the compiler.
Returns
A value of type T.

Definition at line 261 of file cstring.inl.

◆ operator T() [2/4]

template<typename TChar>
alib::strings::TCString< TChar >::operator T ( ) const
inlineexplicitconstexpr

Templated explicit cast operator constructing an instance of type T from this string instance. This operator requires the type T satisfying the concept IsExplicitZTArrayCast.

Custom types can be enabled for this operator by specializing the traits-type ArrayTraits, which is used for both; the implementation of the concept, and the implementation of this operator itself.

Template Parameters
TThe type to implicitly cast this instance to. Deduced by the compiler.
Returns
A value of type T.

Definition at line 285 of file cstring.inl.

◆ operator T() [3/4]

template<typename TChar>
template<typename T>
requires ( !alib::characters::IsImplicitArrayCast <T, TChar> && alib::characters::IsImplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TCString<TChar>, characters::Policy::Implicit, std::remove_cv_t<T> >::value )
alib::strings::TCString< TChar >::operator T ( ) const
inlineconstexpr

Templated implicit cast operator constructing an instance of type T from this string instance. This operator requires the type T satisfying the concept IsImplicitZTArrayCast.

Custom types can be enabled for this operator by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this operator itself.

Template Parameters
TThe type to implicitly cast this instance to. Requires satisfying the concept IsImplicitZTArrayCast. Deduced by the compiler.
Returns
A value of type T.

Definition at line 310 of file cstring.inl.

◆ operator T() [4/4]

template<typename TChar>
template<typename T>
requires ( alib::characters::IsExplicitZTArrayCast<T, TChar> && !alib::characters::IsImplicitZTArrayCast<T, TChar> && !alib::strings::NoAutoCastTraits< TCString<TChar>, characters::Policy::ExplicitOnly, std::remove_cv_t<T> >::value )
alib::strings::TCString< TChar >::operator T ( ) const
inlineexplicitconstexpr

Templated explicit cast operator constructing an instance of type T from this string instance. This operator requires the type T satisfying the concept IsExplicitZTArrayCast.

Custom types can be enabled for this operator by specializing the traits-type ZTArrayTraits, which is used for both; the implementation of the concept, and the implementation of this operator itself.

Template Parameters
TThe type to explicitly cast this instance to. Deduced by the compiler.
Returns
A value of type T.

Definition at line 333 of file cstring.inl.

◆ operator[]()

template<typename TChar>
TChar alib::strings::TCString< TChar >::operator[] ( integer op) const
inline

Reads a character at a given index.
Overrides String::operator[] to change the debug assertion to allow inclusion of the termination character.

Attention
No parameter check is performed (other than an assertions in debug-compilation of ALib). See String::operator[] for details.
Parameters
opThe index of the character within this object's buffer.
Returns
If the character contained at index op.

Definition at line 349 of file cstring.inl.


The documentation for this class was generated from the following file: