62 size_t write(uint8_t c)
override {
102 for (
int j = 0; j < static_cast<int>(
name.size()); j++) {
103 if (
name[j] !=
' ')
return j;
132 s.erase(std::find_if(s.rbegin(), s.rend(),
133 [](
unsigned char ch) { return !std::isspace(ch); })
140 s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](
unsigned char ch) {
141 return !std::isspace(ch);
146 inline void trim(std::string& s) {
Simple character-by-character parser that emits SdFatFileInfo via a callback.
Definition: SdFatParser.h:45
SdFatParser()
Constructs the parser and reserves internal buffer capacity.
Definition: SdFatParser.h:50
int spaceCount()
Counts leading spaces in the current line buffer.
Definition: SdFatParser.h:101
void ltrim(std::string &s)
Definition: SdFatParser.h:139
std::string name
Definition: SdFatParser.h:89
void trim(std::string &s)
Definition: SdFatParser.h:146
void setCallback(void(*cb)(SdFatFileInfo &, void *ref), void *ref=nullptr)
Sets the callback that receives parsed entries.
Definition: SdFatParser.h:82
void parse()
Parses the accumulated line and emits a callback if set.
Definition: SdFatParser.h:115
SdFatFileInfo info
Definition: SdFatParser.h:95
void rtrim(std::string &s)
Definition: SdFatParser.h:131
void(* cb)(SdFatFileInfo &, void *ref)
Definition: SdFatParser.h:91
void * ref
Definition: SdFatParser.h:93
size_t write(uint8_t c) override
Consumes one character of input.
Definition: SdFatParser.h:62
Definition: Allocator.h:13
Describes an entry from a parsed SdFat directory listing.
Definition: SdFatParser.h:21
bool is_directory
Definition: SdFatParser.h:26
int level
Definition: SdFatParser.h:29
std::string name
Definition: SdFatParser.h:24