連想配列です。KeyもValueもAnyなので、何でも関連付けられます。型がわかりにくいという欠点はありますが……
Map明示のほかに、[:]によっても生成されます。
void exec_xtal(){ MapPtr a(xnew<Map>()); a->insert(1, "foo"); a->insert(2, true); a->insert(3, xnew<Array>()); a->p(); a->insert("bar", 100); a->p(); MapPtr b(xnew<Map>()); b->p(); b->insert(1, "hoge"); b->p(); }
a : [1 : "foo", 2 : true, 3 : []]; a.p; a.insert("bar", 100); a.p; b : Map(); b.p; b[1] = "hoge"; b.p;
[1 : foo, 2 : true, 3 : []] [1 : foo, 2 : true, 3 : [], bar : 100] [1 : hoge]
(constructor) | インスタンス生成 |
(destructor) | インスタンス破棄 |
at | 要素を返す |
set_at | 要素を設定する |
insert | 要素を設定する |
erase | 要素を削除する |
size | 要素の数を返す |
length | 要素の数を返す(sizeと同じ) |
is_empty | 空連想配列かどうか |
empty | 空連想配列かどうか(is_emptyと同じ) |
pairs | (key, value)を要素とするIteratorを返す |
keys | keyを要素とするIteratorを返す |
values | valueを要素とするIteratorを返す |
clone | 浅いコピーを返す |
clear | 要素を全て削除する |
assign | 引数で取得できる要素に置き換える |
append | 引数で取得できる要素を追加する |
operator [] | |
operator ~ |