897 {
899
900 fl::size actualCount = count;
903 }
904 if (actualCount == 0) return *this;
905
906
911 fl::size remainingLen =
mLength -
pos - actualCount;
912 if (remainingLen > 0) {
913 fl::memcpy(newData->data() +
pos, heap->data() +
pos + actualCount, remainingLen);
914 }
916 newData->data()[
mLength] =
'\0';
918 return *this;
919 }
920
921 fl::size remainingLen =
mLength -
pos - actualCount;
922 if (remainingLen > 0) {
925 }
928 return *this;
929}
bool hasHeapData() const FL_NOEXCEPT
NotNullStringHolderPtr & heapData() FL_NOEXCEPT
static constexpr fl::size npos
const char * data() const FL_NOEXCEPT
fl::variant< NotNullStringHolderPtr, ConstLiteral, ConstView > mStorage
char * c_str_mutable() FL_NOEXCEPT
void * memcpy(void *dest, const void *src, size_t n) FL_NOEXCEPT
fl::not_null< StringHolderPtr > NotNullStringHolderPtr
void * memmove(void *dest, const void *src, size_t n) FL_NOEXCEPT
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NOEXCEPT