8#ifndef HPP_ALIB_MONOMEM_MASTRING
9#define HPP_ALIB_MONOMEM_MASTRING
11#if !defined (HPP_ALIB_MONOMEM_MONOALLOCATOR)
17#if !defined (HPP_ALIB_STRINGS_LOCALSTRING)
22namespace alib {
namespace monomem {
46template<
typename TChar>
57 : strings::
TAString<TChar>( allocator.AllocArray<TChar>( static_cast<size_t>(pCapacity + 1) ) ,
69 : strings::
TAString<TChar>( allocator.AllocArray<TChar>( src.
Length() + additionalCapacity + 1),
70 src.
Length() + additionalCapacity + 1 )
85 template<
typename TInitialValue>
94 tmp.
Length() + additionalCapacity + 1 ,
126#if !defined(ALIB_DOX)
129template<
typename TChar>
130struct T_CharArray<monomem::TMAString<TChar>, TChar>
133 static constexpr const TChar*
Buffer(
const monomem::TMAString<TChar>& src) {
return src.Buffer(); }
134 static constexpr integer Length(
const monomem::TMAString<TChar>& src) {
return src.Length(); }
ALIB_FORCE_INLINE T * AllocArray(TSize length)
TMAString(MonoAllocator &allocator, const strings::TString< TChar > &src, integer additionalCapacity)
TMAString(MonoAllocator &allocator, const TInitialValue &initialValue, integer additionalCapacity)
TMAString(MonoAllocator &allocator, integer pCapacity)
void DbgDisableBufferReplacementWarning()
ALIB_API void SetBuffer(integer newCapacity)
constexpr integer Length() const
integer CopyTo(TChar *dest) const
@ KeepWithSender
Keeps responsibility, e.g. when passing an object.
lang::integer integer
Type alias in namespace alib.
static const TChar * Buffer(const TString &src)
static constexpr ConstructionType Construction
static constexpr AccessType Access
static integer Length(const TString &src)