Kyopro Library
 
読み取り中…
検索中…
一致する文字列を見つけられません
Trie< char_size, margin > 構造体テンプレート

Trie [詳解]

#include "aho.hpp"

クラス

struct  Node
 

公開型

using Node = TrieNode<char_size>
 

公開メンバ関数

 Trie ()
 
void update_direct (int node, int id)
 
void update_child (int node, int child, int id)
 
void add (const string &str, int str_index, int node_index, int id)
 
void add (const string &str, int id)
 
void add (const string &str)
 文字列 str を追加する
 
void query (const string &str, const function< void(int)> &f, int str_index, int node_index)
 
void query (const string &str, const function< void(int)> &f)
 strをprefixとして持つ全ての文字列に対し、見つかった文字列のインデックスそれぞれに対してfを実行する
 
int count () const
 文字列の総数
 
int size () const
 ノードの総数
 
 Trie (int len)
 
void insert (const string &s)
 
int count (const string &s)
 
void erase (const string &s)
 

公開変数類

vector< Nodenodes
 
int root
 

詳解

template<int char_size, int margin>
struct Trie< char_size, margin >

Trie

テンプレート引数
char_sizeアルファベットのサイズ
margin0にあたる文字

aho.hpp19 行目に定義があります。

型定義メンバ詳解

◆ Node

template<int char_size, int margin>
using Trie< char_size, margin >::Node = TrieNode<char_size>

aho.hpp20 行目に定義があります。

構築子と解体子

◆ Trie() [1/2]

template<int char_size, int margin>
Trie< char_size, margin >::Trie ( )
inline

aho.hpp25 行目に定義があります。

参照先 root.

◆ Trie() [2/2]

template<int char_size, int margin>
Trie< char_size, margin >::Trie ( int len)
inline

trie.hpp8 行目に定義があります。

関数詳解

◆ update_direct()

template<int char_size, int margin>
void Trie< char_size, margin >::update_direct ( int node,
int id )
inline

aho.hpp27 行目に定義があります。

◆ update_child()

template<int char_size, int margin>
void Trie< char_size, margin >::update_child ( int node,
int child,
int id )
inline

aho.hpp29 行目に定義があります。

◆ add() [1/3]

template<int char_size, int margin>
void Trie< char_size, margin >::add ( const string & str,
int str_index,
int node_index,
int id )
inline

aho.hpp31 行目に定義があります。

参照先 update_direct().

◆ add() [2/3]

template<int char_size, int margin>
void Trie< char_size, margin >::add ( const string & str,
int id )
inline

aho.hpp45 行目に定義があります。

◆ add() [3/3]

template<int char_size, int margin>
void Trie< char_size, margin >::add ( const string & str)
inline

文字列 str を追加する

aho.hpp48 行目に定義があります。

◆ query() [1/2]

template<int char_size, int margin>
void Trie< char_size, margin >::query ( const string & str,
const function< void(int)> & f,
int str_index,
int node_index )
inline

aho.hpp50 行目に定義があります。

◆ query() [2/2]

template<int char_size, int margin>
void Trie< char_size, margin >::query ( const string & str,
const function< void(int)> & f )
inline

strをprefixとして持つ全ての文字列に対し、見つかった文字列のインデックスそれぞれに対してfを実行する

aho.hpp63 行目に定義があります。

◆ count() [1/2]

template<int char_size, int margin>
int Trie< char_size, margin >::count ( ) const
inline

文字列の総数

aho.hpp68 行目に定義があります。

◆ size()

template<int char_size, int margin>
int Trie< char_size, margin >::size ( ) const
inline

ノードの総数

aho.hpp71 行目に定義があります。

◆ insert()

template<int char_size, int margin>
void Trie< char_size, margin >::insert ( const string & s)
inline

trie.hpp14 行目に定義があります。

◆ count() [2/2]

template<int char_size, int margin>
int Trie< char_size, margin >::count ( const string & s)
inline

trie.hpp29 行目に定義があります。

◆ erase()

template<int char_size, int margin>
void Trie< char_size, margin >::erase ( const string & s)
inline

trie.hpp39 行目に定義があります。

メンバ詳解

◆ nodes

template<int char_size, int margin>
vector< Node > Trie< char_size, margin >::nodes

aho.hpp22 行目に定義があります。

◆ root

template<int char_size, int margin>
int Trie< char_size, margin >::root

aho.hpp23 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: