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

◆ readToken()

bool fl::istream_real::readToken ( string & token)
private

Definition at line 173 of file istream.cpp.

173 {
175
176 if (pos_ >= buffer_len_ && fl::available() == 0) {
177 failed_ = true;
178 return false;
179 }
180
181 // If buffer is empty but data is available, read a line
182 if (pos_ >= buffer_len_ && fl::available() > 0) {
183 if (!readLine()) {
184 failed_ = true;
185 return false;
186 }
188 }
189
190 // Read until whitespace or end of buffer
191 token.clear();
192 while (pos_ < buffer_len_ &&
193 buffer_[pos_] != ' ' && buffer_[pos_] != '\t' &&
194 buffer_[pos_] != '\n' && buffer_[pos_] != '\r') {
195 // Explicitly append as a character string to avoid fl::u8->number conversion
196 char ch[2] = {buffer_[pos_], '\0'};
197 token.append(ch, 1);
198 pos_++;
199 }
200
201 return !token.empty();
202}
void skipWhitespace()
Definition istream.cpp:158
fl::size buffer_len_
Definition istream.h:31
char buffer_[BUFFER_SIZE]
Definition istream.h:30
fl::size pos_
Definition istream.h:32
int available()
Definition io.cpp:117

References fl::string::append(), fl::available(), buffer_, buffer_len_, fl::StrN< SIZE >::clear(), fl::StrN< SIZE >::empty(), failed_, pos_, readLine(), and skipWhitespace().

Referenced by operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), and operator>>().

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