10 if (
auto it = transitions_.find(c); it != transitions_.end())
11 it->second.push_back(to);
13 transitions_.try_emplace(c, std::vector<const NFANode*>{to});
17 if (erroring_)
return {};
19 if (
auto it = transitions_.find(c); it != transitions_.end())
28 auto print_char = [](std::uint16_t c) -> std::string {
31 else if (c >= 48 && c <= 122)
32 return {
static_cast<char>(c)};
33 return std::to_string(c);
36 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)