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::pair< vec2< u16 >, u8 > Entry
fl::span< const float > db() const FL_NOEXCEPT
fl::span< const float > raw() const FL_NOEXCEPT
fl::size length() const FL_NOEXCEPT
bool isInline() const FL_NOEXCEPT
fl::size write(const fl::u8 *data, fl::size n) FL_NOEXCEPT
const char * data() const FL_NOEXCEPT
iterator end() FL_NOEXCEPT
const char * c_str() const FL_NOEXCEPT
void moveAssign(basic_string &&other) FL_NOEXCEPT
fl::size size() const FL_NOEXCEPT
Concrete type-erased string class.
fl::string to_string() const FL_NOEXCEPT
string substr(fl::size start, fl::size length) const FL_NOEXCEPT
static string interned(const char *str, fl::size len) FL_NOEXCEPT
string & appendCRGB(const CRGB &c) FL_NOEXCEPT
string trim() const FL_NOEXCEPT
bool operator<=(const string &other) const FL_NOEXCEPT
string & operator+=(const string &other) FL_NOEXCEPT
void swap(string &other) FL_NOEXCEPT
void copy(const char *str) FL_NOEXCEPT
static int strcmp(const string &a, const string &b) FL_NOEXCEPT
bool operator!=(const string &other) const FL_NOEXCEPT
string & assign(string_view sv) FL_NOEXCEPT
bool operator==(const string &other) const FL_NOEXCEPT
string & append(const bitset_fixed< N > &bs) FL_NOEXCEPT
string substring(fl::size start, fl::size end) const FL_NOEXCEPT
string & operator=(const string &other) FL_NOEXCEPT
bool operator>=(const string &other) const FL_NOEXCEPT
bool operator<(const string &other) const FL_NOEXCEPT
static string copy_no_view(const string &str) FL_NOEXCEPT
static string from_literal(const char *literal) FL_NOEXCEPT
static constexpr fl::size npos
bool operator>(const string &other) const FL_NOEXCEPT
static string from_view(const char *data, fl::size len) FL_NOEXCEPT
static void compileTimeAssertions() FL_NOEXCEPT
string & intern() FL_NOEXCEPT
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_NOEXCEPT
StringInterner & global_interner()
void clear(CRGB(&arr)[N])
size_t strlen(const char *s) FL_NOEXCEPT
MapRedBlackTree< Key, T, Compare, fl::allocator_slab< char > > map
static int string_compare(const string &a, const string &b) FL_NOEXCEPT
int memcmp(const void *s1, const void *s2, size_t n) FL_NOEXCEPT
expected< T, E > result
Alias for expected (Rust-style naming)
int strcmp(const char *s1, const char *s2) FL_NOEXCEPT
bool isspace(char c) FL_NOEXCEPT
Check if character is whitespace (space, tab, newline, carriage return)
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)