2#include <unordered_map>
119 virtual CTrieNode* DuplicateObject()
const;
293 virtual CTrieNode*
Rename(
const std::wstring& wstrOldWord,
const std::wstring& wstrNewWord);
306 virtual bool FindExact(
const std::wstring& wstrWord)
const;
321 virtual bool FindSubstring(
const std::wstring& wstrSubstring, std::vector<std::wstring>& vctResults)
const;
FLImaging module execution result object.
Definition ResultsDef.h:1514
Implements a Trie structure for efficient string searching.
Definition Trie.h:153
virtual CTrieNode * Rename(const std::wstring &wstrOldWord, const std::wstring &wstrNewWord)
Edits an existing word in the Trie.
CTrie(const CTrie &rhs)
Copy constructor for the CTrie class.
virtual ~CTrie()
Destructor.
virtual const CResult Clear()
Clears all data in the Trie.
virtual const CTrieNode * FindNode(const std::wstring &wstrKey) const
Finds a specific key in the Trie.
virtual const CTrieNode * GetNodeTemplate() const
Gets the current node template.
CTrie()
Default constructor.
virtual wchar_t NormalizeChar(wchar_t ch) const
Normalizes a character to handle case-insensitive search.
virtual bool FindSubstring(const std::wstring &wstrSubstring, std::vector< std::wstring > &vctResults) const
Searches for words containing a given substring.
virtual const CResult Assign(const CTrie *pRhs)
Assigns properties from another CTrie object using a pointer.
virtual void CollectWords(const CTrieNode *pNode, std::vector< std::wstring > &vctResults) const
Collects all words ending at a given node.
CTrie(const CTrie *pRhs)
Pointer-based copy constructor for the CTrie class.
virtual bool RemoveHelper(CTrieNode *pNode, const std::wstring &wstrWord, int32_t i32Depth)
Recursively removes a word from the Trie.
virtual const CResult Remove(const std::wstring &wstrWord)
Removes a word from the Trie.
CTrieNode * m_pRoot
Definition Trie.h:410
CTrieNode * m_pNodeTemplate
Definition Trie.h:416
virtual CTrieNode * Insert(const std::wstring &wstrWord)
Inserts a word into the CTrie.
virtual bool FindExact(const std::wstring &wstrWord) const
Searches for an exact word.
virtual const CResult Assign(const CTrie &rhs)
Assigns properties from another CTrie object using a reference.
virtual const CResult SetNodeTemplate(const CTrieNode *pTrieNodeTemplate)
Sets the node template used for creating new nodes.
virtual const CTrieNode * FindExactNode(const std::wstring &wstrWord) const
Returns the node where the given word exactly matches.
Represents a node in the Trie structure.
Definition Trie.h:34
CTrieNode(const CTrieNode &rhs)
Copy constructor for the CTrieNode class.
std::vector< std::wstring > & m_vctWstrWords
Definition Trie.h:139
virtual const CResult Assign(const CTrieNode *pRhs)
Assigns properties from another CTrieNode object using a pointer.
virtual ~CTrieNode()
Destructor.
CTrieNode()
Default constructor.
virtual const CResult Clear()
Clears all data in the CTrieNode.
CTrieNode(const CTrieNode *pRhs)
Pointer-based copy constructor for the CTrieNode class.
bool m_bEndOfWord
Definition Trie.h:133
virtual const CResult Assign(const CTrieNode &rhs)
Assigns properties from another CTrieNode object using a reference.
std::unordered_map< wchar_t, CTrieNode * > & m_mapChildren
Definition Trie.h:127