nlib
nn::nlib::SmartBitmap< N, BIT > クラステンプレートfinal

Rank/Select操作つきのビットデータを保持するデータ構造です。 [詳解]

#include "nn/nlib/SmartBitmap.h"

+ nn::nlib::SmartBitmap< N, BIT > の継承関係図

詳解

template<size_t N, class BIT = uint32_t>
class nn::nlib::SmartBitmap< N, BIT >

Rank/Select操作つきのビットデータを保持するデータ構造です。

テンプレート引数
Nビットデータのサイズ(N bits)
説明
データメンバにビットデータの実体を保持しています。 ビットデータを動的に作成する場合に向いてます。
SmartBitmap<10> bmp;
bmp.Set(0);
bmp.Set(4);
bmp.Set(7);
bmp.Rank1(4); // [0..4]の範囲にある1のビットの数を返す。2が返ってくる。
bmp.Rank1(10000); // ビットマップの存在範囲から外れていてもOK。3が返ってくる。
bmp.Select1(2); // 7が返ってくる。
bmp.Select1(3); // -1が返ってくる。
各種例:
succinct/bitvector/bitvector.cpp.

SmartBitmap.h145 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: