英語版
このページの英語版を見る
rt.aaA
連想配列の実装
License:
Authors:
Martin Nowak
ソース rt/aaA.d
- immutable int
_aaVersion
; - デバッガ用のAAバージョン。レイアウトを変更するたびにバンプする。
- struct
AA
; - 不透明なAAラッパー
- Impl*
_aaNew
(const TypeInfo_AssociativeArrayti
); - 連想配列のデータを確保する。 new SomeAA 式で呼び出される。Parameters:
TypeInfo_AssociativeArray ti
連想配列の型情報 Returns:新しい連想配列。 - pure nothrow @nogc size_t
_aaLen
(scope const AAaa
); - 連想配列のエントリ数を決定する。
- void*
_aaGetY
(scope AA*paa
, const TypeInfo_AssociativeArrayti
, const size_tvalsz
, scope const void*pkey
); - aaの*pkeyを検索する。 値は変更可能" の場合、(aa[key])式の実装からのみ呼び出される。Parameters:
AA* paa
連想配列の不透明ポインタ TypeInfo_AssociativeArray ti
連想配列の型情報 size_t valsz
無視される void* pkey
キー値へのポインタ Returns:keyがaaにあった場合は、既存の値への変更可能なポインタ。 keyがaaになかった場合は、新しく挿入された値への変更可能なポインタである。 はすべて0に設定される。 - void*
_aaGetX
(scope AA*paa
, const TypeInfo_AssociativeArrayti
, const size_tvalsz
, scope const void*pkey
, out boolfound
); - aa内の*pkeyを検索する。 requireの実装からのみ呼び出される。Parameters:
AA* paa
連想配列の不透明ポインタ TypeInfo_AssociativeArray ti
連想配列の型情報 size_t valsz
無視される void* pkey
キー値へのポインタ。 bool found
値が見つかった場合はtrueを返す Returns:keyがaa内にあった場合は、既存の値への変更可能なポインタ。 keyがaaになかった場合は、新しく挿入された値への変更可能なポインタである。 はすべて0に設定される。 - inout(void)*
_aaGetRvalueX
(inout AAaa
, scope const TypeInfokeyti
, const size_tvalsz
, scope const void*pkey
); - aa内の*pkeyを検索する。 値が変更可能でない場合、(aa[key])式の実装からのみ呼び出される。Parameters:
AA aa
連想配列の不透明ポインタ TypeInfo keyti
キーの型情報 size_t valsz
無視される void* pkey
キー値へのポインタ Returns:存在すれば値へのポインタ、存在しなければNULL - inout(void)*
_aaInX
(inout AAaa
, scope const TypeInfokeyti
, scope const void*pkey
); - aa内の*pkeyを検索する。 (key in aa)式の実装からのみ呼び出される。Parameters:
AA aa
連想配列の不透明ポインタ TypeInfo keyti
キーの型情報 void* pkey
キー値へのポインタ。 Returns:存在すれば値へのポインタ、存在しなければnull - bool
_aaDelX
(AAaa
, scope const TypeInfokeyti
, scope const void*pkey
); - エントリのスコープ const AA を削除する。
- pure nothrow @safe void
_aaClear
(AAaa
); - AA からすべての要素を削除する。
- pure nothrow void*
_aaRehash
(AA*paa
, scope const TypeInfokeyti
); - AAをリハッシュする
- pure nothrow inout(void[])
_aaValues
(inout AAaa
, const size_tkeysz
, const size_tvalsz
, const TypeInfotiValueArray
); - GCで割り当てられたすべての値の配列を返す。
- pure nothrow inout(void[])
_aaKeys
(inout AAaa
, const size_tkeysz
, const TypeInfotiKeyArray
); - GCに割り当てられたすべてのキーの配列を返す
- int
_aaApply
(AAaa
, const size_tkeysz
, dg_tdg
); - すべての値に対してforeach opApplyを行う
- int
_aaApply2
(AAaa
, const size_tkeysz
, dg2_tdg
); - すべてのキーと値のペアに対してforeach opApplyを行う
- Impl*
_d_assocarrayliteralTX
(const TypeInfo_AssociativeArrayti
, void[]keys
, void[]vals
); - 対応するキーと値から ti 型の連想配列を構築する。 AAリテラル[k1:v1, k2:v2] に対して呼び出される。Parameters:
TypeInfo_AssociativeArray ti
連想配列の型情報 void[] keys
キーの配列 void[] vals
値の配列 Returns:新しい連想配列の不透明ポインタ。keys
は空である。 - int
_aaEqual
(scope const TypeInfotiRaw
, scope const AAaa1
, scope const AAaa2
); - 2つのAAが等しいかどうかを比較する。
- nothrow hash_t
_aaGetHash
(scope const AA*paa
, scope const TypeInfotiRaw
); - ハッシュを計算する
- struct
Range
; - aaRangeはForwardRangeを実装している。
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku