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

◆ copy() [3/4]

void fl::basic_string::copy ( const char * str)

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

344 {
345 fl::size len = fl::strlen(str);
346 mLength = len;
347 if (len + 1 <= mInlineCapacity) {
348 if (!isInline()) {
349 mStorage.reset();
350 }
351 fl::memcpy(inlineBufferPtr(), str, len + 1);
352 } else {
353 if (hasHeapData() && heapData().get().use_count() <= 1) {
354 heapData()->copy(str, len);
355 return;
356 }
358 }
359}
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
size_t strlen(const char *s) FL_NOEXCEPT
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

References inlineBufferPtr(), isInline(), fl::memcpy(), mInlineCapacity, mLength, mStorage, and fl::strlen().

Referenced by fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), fl::string_n< 32 >::string_n(), assign(), assign(), fl::string_n< 32 >::operator=(), and fl::string_n< 32 >::operator=().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: