FastLED 3.9.15
Loading...
Searching...
No Matches

◆ copy() [4/4]

void fl::basic_string::copy ( const char * str,
fl::size len )

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

361 {
362 mLength = len;
363 if (len + 1 <= mInlineCapacity) {
364 if (!isInline()) {
365 mStorage.reset();
366 }
367 fl::memcpy(inlineBufferPtr(), str, len);
368 inlineBufferPtr()[len] = '\0';
369 } else {
370 if (hasHeapData() && heapData().get().use_count() <= 1) {
371 heapData()->copy(str, len);
372 return;
373 }
375 }
376}
bool isInline() const FL_NOEXCEPT
bool hasHeapData() const FL_NOEXCEPT
fl::size mInlineCapacity
NotNullStringHolderPtr & heapData() FL_NOEXCEPT
fl::variant< NotNullStringHolderPtr, ConstLiteral, ConstView > mStorage
char * inlineBufferPtr() FL_NOEXCEPT
void * memcpy(void *dest, const void *src, size_t n) FL_NOEXCEPT
fl::not_null< StringHolderPtr > NotNullStringHolderPtr
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
Definition shared_ptr.h:414
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NOEXCEPT
Definition pair.h:115