6.28. kink/container/FLAT_MAP

整列されたベクタにキーを格納するorder_mapの実装を提供する。

フラットmapは、キーの挿入と削除がまれな場合、あるいはmapのサイズが小さい場合に良い選択肢となる。

6.28.1. FLAT_MAP.new(...[$config={}])

newは空のフラットなorder_mapを新しく作って戻す。

コンフィグメソッド

C.order($up_to?): default = {(:X :Y) X <= Y }

キーの全順序関係

$up_to?は、ふたつの引数X, Yを取る関数でなければならない。 `up_to?(X Y)` は、 `X up-to Y` のbool値を戻さなければならない。ここで、 `up-to` はキーの全順序関係である。

事前条件

$up_to?は、ふたつの引数を取ってboolを戻す関数でなければならない。

例: デフォルトの順序

例: 自前の順序

6.28.2. FLAT_MAP.of(...[K0 V0 K1 V1 ,,,])

ofは、与えられたキーと値を含むフラットなorder_mapを新しく作って戻す。キーは <= 演算子、またはop_leメソッドで順序付けられる。

結果のmapは、(K0, V1), (K1, V1), (K2, V2) ,,, のキー/値ペアを持つ。

事前条件

K0, K1, K2 ,,, はキーの定義域に含まれなければならない。

例