FastLED 3.10.6
Loading...
Searching...
No Matches

◆ shrink_to_fit()

void fl::basic_string::shrink_to_fit ( )

Definition at line 524 of file basic_string.cpp.hpp.

524 {
525 if (hasHeapData()) {
527 if (heap.get().use_count() > 1) return;
528 if (heap->capacity() <= mLength + 1) return;
529 if (mLength + 1 <= mInlineCapacity) {
530 fl::memcpy(inlineBufferPtr(), heap->data(), mLength + 1);
531 mStorage.reset();
532 return;
533 }
535 fl::memcpy(newData->data(), heap->data(), mLength + 1);
536 mStorage = newData;
537 }
538}
NotNullStringHolderPtr & heapData() FL_NO_EXCEPT
bool hasHeapData() const FL_NO_EXCEPT
fl::size mInlineCapacity
char * inlineBufferPtr() FL_NO_EXCEPT
fl::variant< NotNullStringHolderPtr, ConstLiteral, ConstView > mStorage
fl::not_null< StringHolderPtr > NotNullStringHolderPtr
void * memcpy(void *dest, const void *src, size_t n) FL_NO_EXCEPT
shared_ptr< T > make_shared(Args &&... args) FL_NO_EXCEPT
Definition shared_ptr.h:414

References fl::not_null< T >::get(), hasHeapData(), heapData(), inlineBufferPtr(), fl::make_shared(), fl::memcpy(), mInlineCapacity, mLength, mStorage, and fl::shared_ptr< T >::use_count().

+ Here is the call graph for this function: