FastLED 3.10.6
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.

385 {
386 mLength = len;
387 if (len + 1 <= mInlineCapacity) {
388 if (!isInline()) {
389 mStorage.reset();
390 }
391 fl::memcpy(inlineBufferPtr(), str, len);
392 inlineBufferPtr()[len] = '\0';
393 } else {
394 if (hasHeapData() && heapData().get().use_count() <= 1) {
395 heapData()->copy(str, len);
396 return;
397 }
399 }
400}
NotNullStringHolderPtr & heapData() FL_NO_EXCEPT
bool hasHeapData() const FL_NO_EXCEPT
fl::size mInlineCapacity
char * inlineBufferPtr() FL_NO_EXCEPT
bool isInline() const 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
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NO_EXCEPT
Definition pair.h:115