921 {
923
924 fl::size actualCount = count;
927 }
928 if (actualCount == 0) return *this;
929
930
935 fl::size remainingLen =
mLength -
pos - actualCount;
936 if (remainingLen > 0) {
937 fl::memcpy(newData->data() +
pos, heap->data() +
pos + actualCount, remainingLen);
938 }
940 newData->data()[
mLength] =
'\0';
942 return *this;
943 }
944
945 fl::size remainingLen =
mLength -
pos - actualCount;
946 if (remainingLen > 0) {
949 }
952 return *this;
953}
char * c_str_mutable() FL_NO_EXCEPT
NotNullStringHolderPtr & heapData() FL_NO_EXCEPT
bool hasHeapData() const FL_NO_EXCEPT
static constexpr fl::size npos
fl::variant< NotNullStringHolderPtr, ConstLiteral, ConstView > mStorage
const char * data() const FL_NO_EXCEPT
fl::not_null< StringHolderPtr > NotNullStringHolderPtr
void * memcpy(void *dest, const void *src, size_t n) FL_NO_EXCEPT
void * memmove(void *dest, const void *src, size_t n) FL_NO_EXCEPT
shared_ptr< T > make_shared(Args &&... args) FL_NO_EXCEPT
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NO_EXCEPT