8 if (
auto it = transitions_.find(c); it != transitions_.end())
9 it->second.push_back(to);
11 transitions_.emplace(c, std::vector<const NFANode*>{to});
15 if (erroring_)
return {};
17 if (
auto it = transitions_.find(c); it != transitions_.end())
26 auto print_char = [](std::uint16_t c) -> std::string {
29 else if (c >= 48 && c <= 122)
30 return {
static_cast<char>(c)};
31 return std::to_string(c);
34 return print_node(os, node, std::move(print_char));
std::vector< const NFANode * > get_transitions(std::uint16_t c) const
void add_transition(const NFANode *to, std::uint16_t c)
std::ostream & operator<<(std::ostream &os, const DFANode &node)
std::ostream & print_node(std::ostream &os, const NodeType &node, PrintCharF &&print_char)