class utils::Dictionary::Node

class Node {
public:
    // construction

    Node();
    Node(Node* parent);

    // methods

    void ClearAll();
    const Node* Find(const char* key) const;
    Node* Find(const char* key);
    Node* CreateOrFind(const char* key);
    const std::string& GetWord() const;
    void SetWord(const std::string& val);
    bool ClearWord();
    void CumulateWords(std::vector<std::string>& result) const;
    bool HasAnyChildren() const;
    void DestroyChild(Node* child);
    void CumulateWords(const char* key_prefix, std::vector<std::string>& result) const;
};