整数から整数へのコンパクトなリードオンリーの連想配列です。
[詳解]
#include "nn/nlib/succinct/Sbv.h"
整数から整数へのコンパクトなリードオンリーの連想配列です。
- 説明
- キーとなる整数を
SparseSet
クラスを用いて格納し、値となる整数をCompressedArray
クラスを用いて格納しています。 疎な連想配列の実装に向いています。
- このクラスの利用方法は、以下のとおりです。
-
コンストラクタでオブジェクトを作成します。
-
Init()
で定義域を設定してビットベクトルを初期化します。
-
TurnOn()
でキーと対応する値を追加します。
-
Build()
でRank/Select
操作を定数時間で行うための辞書を構築します。
-
以上で連想配列が使えるようになります。
- データを
Export()
で書きだした場合はコンストラクタの実行後にImport()
を呼び出すことで利用できるようになります。
Sbv.h の 228 行目に定義があります。
§ Build()
nn::nlib::succinct::Map::Build |
( |
| ) |
|
|
inlinenoexcept |
連想配列を構築します。
- 戻り値
- 成功した場合は
true
Sbv.h の 251 行目に定義があります。
§ Export()
オブジェクトを(ファイルに)書き出します。
- 引数
-
- 戻り値
- 成功した場合は
true
- 説明
- 書きだしたデータは
Import()
関数で読みだして復元することができます。 また、データは常にリトルエンディアンで書き出されます。
Sbv.h の 275 行目に定義があります。
§ Find() [1/2]
nn::nlib::succinct::Map::Find |
( |
IdxType |
idx | ) |
|
|
inlinenoexcept |
キーを指定して連想配列から値を取得します。
- 引数
-
- 戻り値
bool
とuint32_t
のペア。キーに対応する値が見つかった場合はbool
値がtrue
Sbv.h の 252 行目に定義があります。
§ Find() [2/2]
nn::nlib::succinct::Map::Find |
( |
IdxType |
idx | ) |
const |
|
inlinenoexcept |
キーを指定して連想配列から値を取得します。
- 引数
-
- 戻り値
bool
とuint32_t
のペア。キーに対応する値が見つかった場合はbool
値がtrue
Sbv.h の 258 行目に定義があります。
§ GetKeys()
nn::nlib::succinct::Map::GetKeys |
( |
| ) |
const |
|
inlinenoexcept |
§ GetValues()
nn::nlib::succinct::Map::GetValues |
( |
| ) |
const |
|
inlinenoexcept |
§ Import()
書き出されたオブジェクトを読み出します。
- 引数
-
- 戻り値
- インポートが成功した場合は
true
Sbv.h の 280 行目に定義があります。
§ Init()
nn::nlib::succinct::Map::Init |
( |
IdxType |
bv_size | ) |
|
|
inlinenoexcept |
オブジェクトを初期化します。
- 引数
-
[in] | bv_size | キーの取りうる値の上限(bvSize 自体は含まず) |
- 戻り値
- 成功した場合は
true
- 説明
0
以上bvSize
未満の値をキーとすることができるようになります。
Sbv.h の 242 行目に定義があります。
§ MemSize()
nn::nlib::succinct::Map::MemSize |
( |
| ) |
const |
|
inlinenoexcept |
このクラスが明示的に確保するメモリ量を返します。
- 戻り値
- バイト数
- 実際にシステムが確保するメモリ量はアライメントやヒープの管理領域の関係上この関数の返り値より大きい可能性があります。
Sbv.h の 264 行目に定義があります。
§ TurnOn()
nn::nlib::succinct::Map::TurnOn |
( |
IdxType |
idx, |
|
|
uint32_t |
data |
|
) |
| |
|
inlinenoexcept |
キーと値を追加します。
- 引数
-
[in] | idx | キーとなる整数値 |
[in] | data | 値となる整数値 |
- 戻り値
- 成功した場合は
true
Sbv.h の 246 行目に定義があります。
このクラス詳解は次のファイルから抽出されました: