Kyopro Library
 
読み取り中…
検索中…
一致する文字列を見つけられません
Hash 構造体

#include "rolling_hash.hpp"

公開型

using Type = array<ll,HASH_PRIME>
 

公開メンバ関数

void init ()
 
 Hash ()=default
 
 Hash (const Hash &other)
 
 Hash (char c)
 
Hashoperator+= (const Hash &other)
 
Hashoperator-= (const Hash &other)
 
Hash operator+ (const Hash &other) const
 
Hash operator- (const Hash &other) const
 
Hash shift (int x) const
 
bool operator== (const Hash &other) const
 
Hashoperator= (const Hash &other)
 

公開変数類

Type value
 

静的公開変数類

static vector< llbase
 
static vector< vector< ll > > inv
 
static vector< vector< ll > > pow
 
static const vector< llmod ={1000000007,1000000009,1000000021,1000000033,1000000087}
 
static bool flag =false
 
static array< array< ll, HASH_PRIME >, 256 > num ={}
 

詳解

rolling_hash.hpp10 行目に定義があります。

型定義メンバ詳解

◆ Type

using Hash::Type = array<ll,HASH_PRIME>

rolling_hash.hpp12 行目に定義があります。

構築子と解体子

◆ Hash() [1/3]

Hash::Hash ( )
default

◆ Hash() [2/3]

Hash::Hash ( const Hash & other)
inline

rolling_hash.hpp38 行目に定義があります。

参照先 flag, init().

◆ Hash() [3/3]

Hash::Hash ( char c)
inline

rolling_hash.hpp42 行目に定義があります。

参照先 flag, init().

関数詳解

◆ init()

void Hash::init ( )
inline

rolling_hash.hpp21 行目に定義があります。

参照先 flag, HASH_C, HASH_MAX, HASH_PRIME, Xor128().

◆ operator+=()

Hash & Hash::operator+= ( const Hash & other)
inline

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

◆ operator-=()

Hash & Hash::operator-= ( const Hash & other)
inline

rolling_hash.hpp52 行目に定義があります。

◆ operator+()

Hash Hash::operator+ ( const Hash & other) const
inline

rolling_hash.hpp56 行目に定義があります。

参照先 operator+=().

◆ operator-()

Hash Hash::operator- ( const Hash & other) const
inline

rolling_hash.hpp61 行目に定義があります。

参照先 operator-=().

◆ shift()

Hash Hash::shift ( int x) const
inline

rolling_hash.hpp66 行目に定義があります。

参照先 HASH_PRIME.

◆ operator==()

bool Hash::operator== ( const Hash & other) const
inline

rolling_hash.hpp72 行目に定義があります。

参照先 HASH_PRIME.

◆ operator=()

Hash & Hash::operator= ( const Hash & other)
inline

rolling_hash.hpp76 行目に定義があります。

メンバ詳解

◆ base

vector< ll > Hash::base
static

rolling_hash.hpp13 行目に定義があります。

◆ inv

vector< vector< ll > > Hash::inv
static

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

◆ pow

vector< vector< ll > > Hash::pow
static

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

◆ mod

const vector< ll > Hash::mod ={1000000007,1000000009,1000000021,1000000033,1000000087}
static

rolling_hash.hpp85 行目に定義があります。

◆ flag

bool Hash::flag =false
static

rolling_hash.hpp16 行目に定義があります。

◆ num

array< array< ll, HASH_PRIME >, HASH_C > Hash::num ={}
static

rolling_hash.hpp87 行目に定義があります。

◆ value

Type Hash::value

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


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