70 void feedChar(
char c);
79 bool isIdle()
const {
return state_ == EState::eIdle; }
97 void processRow(
const std::string& rowContent);
100 void processHeaderRow(
const std::string& row);
102 void processSeparatorRow(
const std::string& row);
104 void processBodyRow(
const std::string& row);
108 void emitTableStart();
114 void abortAsParagraph();
118 static std::vector<std::string> splitCells(
const std::string& row);
120 static bool isTableRow(
const std::string& row);
122 static bool isSeparatorRow(
const std::string& row);
124 static std::vector<ETableAlign> parseAlignments(
const std::string& sepRow);
126 static std::string trim(
const std::string& s);
130 MarkdownInlineParser inlineSM_;
132 EState state_ = EState::eIdle;
133 bool charConsumed_ =
true;
139 std::vector<std::string> headerCells_;
142 std::vector<ETableAlign> colAligns_;
145 std::string abortBuf_;