FastLED 3.10.6
Loading...
Searching...
No Matches

◆ parse_int_array()

template<typename T>
bool fl::anonymous_namespace{json.cpp.hpp}::JsonBuilder::parse_int_array ( const fl::span< const char > & span,
fl::vector< T > & out_vec )
inlineprivate

Definition at line 817 of file json.cpp.hpp.

817 {
818 const char* p = span.data();
819 const char* end = p + span.size();
820
821 while (p < end) {
822 // Skip whitespace
823 while (p < end && (*p == ' ' || *p == '\t' || *p == '\n' || *p == '\r')) p++;
824 if (p >= end) break;
825
826 // Parse number
827 const char* num_start = p;
828 if (*p == '-') p++;
829 while (p < end && *p >= '0' && *p <= '9') p++;
830
831 i64 val = fl::parseInt(num_start, p - num_start);
832 out_vec.push_back(static_cast<T>(val));
833
834 // Skip whitespace
835 while (p < end && (*p == ' ' || *p == '\t' || *p == '\n' || *p == '\r')) p++;
836
837 // Skip comma
838 if (p < end && *p == ',') p++;
839 }
840
841 return true;
842 }
const T * data() const FL_NO_EXCEPT
Definition span.h:486
constexpr fl::size size() const FL_NO_EXCEPT
Definition span.h:483
void push_back(const T &value) FL_NO_EXCEPT
Definition vector.h:624
int parseInt(const char *str, fl::size len)
Parse an integer from a character buffer.
fl::i64 i64
Definition stdint.h:221

References fl::span< T, Extent >::data(), fl::end(), fl::parseInt(), fl::vector< T >::push_back(), and fl::span< T, Extent >::size().

Referenced by on_token().

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