18#if FL_STRING_NEEDS_ARDUINO_CONVERSION
34 result.setLiteral(literal);
49 if (!str || len == 0)
return string();
68 if (str.is_referencing()) {
70 result.copy(str.c_str(), str.size());
144 copy(sv.data(), sv.size());
152 if (start == 0 &&
end ==
size())
return *
this;
182 fl::size end_pos =
size();
191 copy(str.c_str(), str.size());
195 copy(str.c_str(), str.size());
200 write(str.c_str(), str.size());
212 fl::size n = (a.size() < b.size()) ? a.size() : b.size();
214 if (r != 0)
return r;
215 if (a.size() < b.size())
return -1;
216 if (a.size() > b.size())
return 1;
237 if (
size() != other.size()) {
244 return !(*
this == other);
250 append(other.c_str(), other.size());
255 append(
"\n Impl Bins:\n ");
258 append(
" Impl Bins DB:\n ");
281 append(
"Tile2x2_u8_wrap(");
282 for (
int i = 0; i < 4; i++) {
284 u8 alpha =
data[i].second;
301 if (
this == &other)
return;
309 "FASTLED_STR_INLINED_SIZE must be greater than 0");
311 "If you want to change the FASTLED_STR_INLINED_SIZE, then it "
312 "must be through a build define and not an include define.");
359#if FL_STRING_NEEDS_ARDUINO_CONVERSION
366 copy(str.c_str(),
strlen(str.c_str()));
fl::string intern(const string_view &sv) FL_NO_EXCEPT
fl::pair< vec2< u16 >, u8 > Entry
iterator end() FL_NO_EXCEPT
bool isInline() const FL_NO_EXCEPT
fl::size length() const FL_NO_EXCEPT
const char * c_str() const FL_NO_EXCEPT
const char * data() const FL_NO_EXCEPT
fl::size write(const fl::u8 *data, fl::size n) FL_NO_EXCEPT
void moveAssign(basic_string &&other) FL_NO_EXCEPT
fl::size size() const FL_NO_EXCEPT
Concrete type-erased string class.
static int strcmp(const string &a, const string &b) FL_NO_EXCEPT
bool operator!=(const string &other) const FL_NO_EXCEPT
string & operator+=(const string &other) FL_NO_EXCEPT
bool operator>(const string &other) const FL_NO_EXCEPT
string & operator=(const string &other) FL_NO_EXCEPT
static string from_view(const char *data, fl::size len) FL_NO_EXCEPT
bool operator==(const string &other) const FL_NO_EXCEPT
string & intern() FL_NO_EXCEPT
string & appendCRGB(const CRGB &c) FL_NO_EXCEPT
void swap(string &other) FL_NO_EXCEPT
bool operator>=(const string &other) const FL_NO_EXCEPT
string & assign(string_view sv) FL_NO_EXCEPT
string substring(fl::size start, fl::size end) const FL_NO_EXCEPT
string & append(const bitset_fixed< N > &bs) FL_NO_EXCEPT
static string interned(const char *str, fl::size len) FL_NO_EXCEPT
string substr(fl::size start, fl::size length) const FL_NO_EXCEPT
static void compileTimeAssertions() FL_NO_EXCEPT
static constexpr fl::size npos
bool operator<(const string &other) const FL_NO_EXCEPT
static string copy_no_view(const string &str) FL_NO_EXCEPT
string trim() const FL_NO_EXCEPT
void copy(const char *str) FL_NO_EXCEPT
static string from_literal(const char *literal) FL_NO_EXCEPT
bool operator<=(const string &other) const FL_NO_EXCEPT
Defines the 8-bit red, green, and blue (RGB) pixel type in the fl namespace.
FastLED's Elegant JSON Library: fl::json
constexpr remove_reference< T >::type && move(T &&t) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
static int string_compare(const string &a, const string &b) FL_NO_EXCEPT
MapRedBlackTree< Key, T, Compare, fl::allocator_slab< char > > map
FASTLED_FORCE_INLINE int strcmp(const char *s1, const char *s2) FL_NO_EXCEPT
FASTLED_FORCE_INLINE int memcmp(const void *s1, const void *s2, size_t n) FL_NO_EXCEPT
bool isspace(char c) FL_NO_EXCEPT
Check if character is whitespace (space, tab, newline, carriage return)
StringInterner & global_interner() FL_NO_EXCEPT
void clear(CRGB(&arr)[N]) FL_NO_EXCEPT
expected< T, E > result
Alias for expected (Rust-style naming)
FASTLED_FORCE_INLINE size_t strlen(const char *s) FL_NO_EXCEPT
Base definition for an LED controller.
#define FL_STATIC_ASSERT(...)
Portable compile-time assertion wrapper.
#define FASTLED_STR_INLINED_SIZE
std::string compatible string class.
Representation of an 8-bit RGB pixel (Red, Green, Blue)