FLImaging 6.5.8.1
FLImaging::Foundation::CTrie 클래스 참조

Implements a Trie structure for efficient string searching. 더 자세히 ...

#include <Trie.h>

Public 멤버 함수

 CTrie ()
 Trie를 초기화합니다.
 
 CTrie (const CTrie &rhs)
 CTrie 클래스의 복사 생성자입니다.
 
 CTrie (const CTrie *pRhs)
 CTrie 클래스의 포인터 기반 복사 생성자입니다.
 
virtual ~CTrie ()
 CTrie를 해제할 때 호출됩니다.
 
virtual const CResult Assign (const CTrie &rhs)
 참조를 사용하여 다른 CTrie 객체로부터 속성을 할당합니다.
 
virtual const CResult Assign (const CTrie *pRhs)
 포인터를 사용하여 다른 CTrie 객체로부터 속성을 할당합니다.
 
virtual const CResult SetNodeTemplate (const CTrieNode *pTrieNodeTemplate)
 새로운 노드를 생성할 때 사용할 노드 템플릿을 설정합니다.
 
virtual const CTrieNodeGetNodeTemplate () const
 현재 설정된 노드 템플릿을 반환합니다.
 
virtual CTrieNodeInsert (const std::wstring &wstrWord)
 CTrie에 단어 삽입
 
virtual const CResult Remove (const std::wstring &wstrWord)
 Trie에서 특정 단어를 삭제합니다.
 
virtual CTrieNodeRename (const std::wstring &wstrOldWord, const std::wstring &wstrNewWord)
 Trie에서 기존 단어를 수정합니다.
 
virtual bool FindExact (const std::wstring &wstrWord) const
 정확한 단어 검색
 
virtual bool FindSubstring (const std::wstring &wstrSubstring, std::vector< std::wstring > &vctResults) const
 부분 문자열 (중간 포함 단어) 검색
 
virtual const CResult Clear ()
 Trie 의 모든 데이터 초기화.
 
virtual const CTrieNodeFindExactNode (const std::wstring &wstrWord) const
 정확히 단어가 일치하는 노드를 리턴합니다.
 

Protected 멤버 함수

virtual const CTrieNodeFindNode (const std::wstring &wstrKey) const
 Trie에서 특정 문자열이 존재하는지 찾는 함수
 
virtual bool RemoveHelper (CTrieNode *pNode, const std::wstring &wstrWord, int32_t i32Depth)
 Trie에서 단어를 재귀적으로 삭제합니다.
 
virtual void CollectWords (const CTrieNode *pNode, std::vector< std::wstring > &vctResults) const
 재귀적으로 하위 노드에서 끝나는 모든 단어 수집
 
virtual wchar_t NormalizeChar (wchar_t ch) const
 대소문자를 통일하는 함수
 

Protected 속성

CTrieNodem_pRoot
 
CTrieNodem_pNodeTemplate
 

상세한 설명

Implements a Trie structure for efficient string searching.

문자열 검색을 효율적으로 수행하기 위한 Trie 자료구조를 구현한 클래스입니다.

생성자 & 소멸자 문서화

◆ CTrie() [1/2]

FLImaging::Foundation::CTrie::CTrie ( const CTrie & rhs)

CTrie 클래스의 복사 생성자입니다.

매개변수
[in]rhs복사할 객체에 대한 참조입니다.

◆ CTrie() [2/2]

FLImaging::Foundation::CTrie::CTrie ( const CTrie * pRhs)

CTrie 클래스의 포인터 기반 복사 생성자입니다.

매개변수
[in]pRhs복사할 객체에 대한 포인터입니다.

멤버 함수 문서화

◆ Assign() [1/2]

virtual const CResult FLImaging::Foundation::CTrie::Assign ( const CTrie & rhs)
virtual

참조를 사용하여 다른 CTrie 객체로부터 속성을 할당합니다.

매개변수
[in]rhs복사할 객체에 대한 참조입니다.
반환값
constFLImaging::CResult 할당 작업의 결과입니다.
참고
FLImaging::CResult

◆ Assign() [2/2]

virtual const CResult FLImaging::Foundation::CTrie::Assign ( const CTrie * pRhs)
virtual

포인터를 사용하여 다른 CTrie 객체로부터 속성을 할당합니다.

매개변수
[in]pRhs복사할 객체에 대한 포인터입니다.
반환값
constFLImaging::CResult 할당 작업의 결과입니다.
참고
FLImaging::CResult

◆ Clear()

virtual const CResult FLImaging::Foundation::CTrie::Clear ( )
virtual

Trie 의 모든 데이터 초기화.

반환값
FLImaging::CResultTrie 초기화 결과 반환.

◆ CollectWords()

virtual void FLImaging::Foundation::CTrie::CollectWords ( const CTrieNode * pNode,
std::vector< std::wstring > & vctResults ) const
protectedvirtual

재귀적으로 하위 노드에서 끝나는 모든 단어 수집

매개변수
[in]pNode탐색을 시작할 노드
[out]vctResults검색된 단어 리스트

◆ FindExact()

virtual bool FLImaging::Foundation::CTrie::FindExact ( const std::wstring & wstrWord) const
virtual

정확한 단어 검색

매개변수
[in]wstrWord검색할 단어
반환값
bool단어가 존재하면 true, 단어가 존재하지 않으면 false.

◆ FindExactNode()

virtual const CTrieNode * FLImaging::Foundation::CTrie::FindExactNode ( const std::wstring & wstrWord) const
virtual

정확히 단어가 일치하는 노드를 리턴합니다.

매개변수
[in]wstrWord검색할 단어
반환값
constCTrieNode* 정확히 단어가 일치하는 노드

◆ FindNode()

virtual const CTrieNode * FLImaging::Foundation::CTrie::FindNode ( const std::wstring & wstrKey) const
protectedvirtual

Trie에서 특정 문자열이 존재하는지 찾는 함수

매개변수
[in]wstrKey찾을 문자열
반환값
FLImaging::Foundation::CTrieNode*해당 문자열의 노드 포인터 (없으면 nullptr)

◆ FindSubstring()

virtual bool FLImaging::Foundation::CTrie::FindSubstring ( const std::wstring & wstrSubstring,
std::vector< std::wstring > & vctResults ) const
virtual

부분 문자열 (중간 포함 단어) 검색

매개변수
[in]wstrSubstring검색할 부분 문자열
[out]vctResults검색된 단어 리스트
반환값
bool검색 성공(결과 존재) 시 true, 검색 실패(결과 없음) 시 false.

◆ GetNodeTemplate()

virtual const CTrieNode * FLImaging::Foundation::CTrie::GetNodeTemplate ( ) const
virtual

현재 설정된 노드 템플릿을 반환합니다.

반환값
constCTrieNode* 현재 설정된 노드 템플릿 객체의 포인터.

◆ Insert()

virtual CTrieNode * FLImaging::Foundation::CTrie::Insert ( const std::wstring & wstrWord)
virtual

CTrie에 단어 삽입

매개변수
[in]wstrWord삽입할 단어 (wstring)
반환값
CTrieNode*삽입된 노드 포인터
참고
FLImaging::CResult

◆ NormalizeChar()

virtual wchar_t FLImaging::Foundation::CTrie::NormalizeChar ( wchar_t ch) const
protectedvirtual

대소문자를 통일하는 함수

매개변수
[in]ch변환할 문자
반환값
wchar_t변환된 문자

◆ Remove()

virtual const CResult FLImaging::Foundation::CTrie::Remove ( const std::wstring & wstrWord)
virtual

Trie에서 특정 단어를 삭제합니다.

매개변수
[in]wstrWord삭제할 단어.
반환값
constFLImaging::CResult 함수 수행의 결과입니다.
참고
FLImaging::CResult

◆ RemoveHelper()

virtual bool FLImaging::Foundation::CTrie::RemoveHelper ( CTrieNode * pNode,
const std::wstring & wstrWord,
int32_t i32Depth )
protectedvirtual

Trie에서 단어를 재귀적으로 삭제합니다.

매개변수
[in]pNode현재 확인 중인 노드.
[in]wstrWord삭제할 단어.
[in]i32Depth재귀 깊이.
반환값
true노드를 삭제해야 하면 true 반환.

◆ Rename()

virtual CTrieNode * FLImaging::Foundation::CTrie::Rename ( const std::wstring & wstrOldWord,
const std::wstring & wstrNewWord )
virtual

Trie에서 기존 단어를 수정합니다.

매개변수
[in]wstrOldWord수정할 기존 단어.
[in]wstrNewWord새롭게 추가할 단어.
반환값
CTrieNode*새롭게 추가된 노드 포인터
참고
FLImaging::CResult

◆ SetNodeTemplate()

virtual const CResult FLImaging::Foundation::CTrie::SetNodeTemplate ( const CTrieNode * pTrieNodeTemplate)
virtual

새로운 노드를 생성할 때 사용할 노드 템플릿을 설정합니다.

매개변수
[in]pTrieNodeTemplate노드 템플릿 객체의 포인터.

멤버 데이터 문서화

◆ m_pNodeTemplate

CTrieNode* FLImaging::Foundation::CTrie::m_pNodeTemplate
protected

노드의 템플릿 역할을 하는 객체. 기본값은 CTrieNode.

◆ m_pRoot

CTrieNode* FLImaging::Foundation::CTrie::m_pRoot
protected

Trie의 루트 노드