[前へ] [目次へ] [次へ]
このクラスは文字列キーによるネイティブ浮動小数連想配列を扱うクラスです。
このクラスの実装はハッシュマップです。
文字列キーの長さに上限はありませんが、30バイト以下の文字列長に最適化されています。
それ以上の長さのキーを扱うと動作速度が著しく低下する可能性があります。
このクラスの配列要素はFGESにおけるオブジェクトではなく、
C++レベルで確保および管理されています。
そのため、配列要素とのやり取りは必ずデータがコピーされ、
配列要素への直接の参照を取得することができません。
その代わり、このクラスの配列要素はC++レベルの高速なコードで処理を行えます。
●継承
このクラスは継承をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
このクラスはクラスメソッドを持っていません。
●クラスメンバメソッド
●クラス共有変数
このクラスはクラス共有変数を持っていません。
●インスタンス変数
このクラスはインスタンス変数を持っていません。
●C++レベル追加情報
クラスID: FGES_CLASSID_PFLOATMAP
クラス名: FGESPFloatMap
PFloatMap::#operator[]
public readonly Float #operator[]( IString v)const
この連想配列の v の名前を持つ要素の値を返します。
このメソッドは指定した要素名が無効な場合、例外が発生します。
このメソッドは最初に v から INativeString による取得を試みます。
これに失敗した場合、 v.Get を呼び出します。
戻り値:指定した要素名の値を返します。
IString v :取得する要素名
先頭へ
PFloatMap::#operator{}
public readonly Float #operator{}( IString v, INativeFloat? def_value=NULL)const
この配列の v の名前を持つ要素の値を返します。
このメソッドは指定した要素名が無効な場合、デフォルト値を返します。
このメソッドは最初に v から INativeString による取得を試みます。
これに失敗した場合、 v.Get を呼び出します。
戻り値:指定した要素番号の値か、なければデフォルト値を返します。
IString v :取得する要素名
INativeFloat? def_value=NULL :要素番号が無効な場合のデフォルト値。
空参照を指定した場合は0.0を指定したものとして扱います。
先頭へ
PFloatMap::#operator={}
public SelfType@ #operator={}(...)
この連想配列に引数として渡した要素を一括して代入します。
この連想配列が既に持っていた要素は全て削除され、引数だけで構成された連想配列になります。
引数は2つ一組で扱われ、1つ目が IString 型の要素名、2つ目が IFloat 型で設定する値です。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの Get を呼び出します。
戻り値: this を返します。
可変長引数:代入する要素リスト。要素名、要素データ、要素名、要素データと交互に並びます。
先頭へ
PFloatMap::Get
public readonly Float Get( IString name)const
この連想配列の name の名前を持つ要素の値を返します。
このメソッドは指定した要素名が無効な場合、例外が発生します。
このメソッドは最初に name から INativeString による取得を試みます。
これに失敗した場合、 name.Get を呼び出します。
このメソッドは #operator[] と同じ動作です。
戻り値:指定した要素名の値を返します。
IString name :取得する要素名
先頭へ
PFloatMap::Set
public Bool Set( IString name, IFloat val)
この連想配列の name の名前を持つ要素に val を代入します。
このメソッドは指定した要素名が無効な場合、偽を返し何も行いません。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの Get を呼び出します。
戻り値:代入に成功すると真を返します。
IString name :設定する要素名
IFloat val :設定する値
先頭へ
PFloatMap::AllClear
public SelfType@ AllClear()
この連想配列の全ての要素を削除します。
戻り値: this を返します。
先頭へ
PFloatMap::Erase
public Bool Erase( IString name)
この連想配列から name の名前を持つ要素を削除します。
このメソッドは最初に name から INativeString による取得を試みます。
これに失敗した場合、 name.Get を呼び出します。
このメソッドは指定した要素名が無効な場合、偽を返し何も行いません。
戻り値:この呼び出しで要素が削除された場合真を返します。
IString name :削除する要素名
先頭へ
PFloatMap::Exists
public Bool Exists( IString name)const
この連想配列に name の名前を持つ要素が存在するか調べます。
このメソッドは最初に name から INativeString による取得を試みます。
これに失敗した場合、 name.Get を呼び出します。
戻り値:指定した要素名の要素が存在すれば真を返します。
IString name :判定する要素名
先頭へ
PFloatMap::Add
public SelfType@ Add( IString name, IFloat val)
この連想配列に name の名前を持つ要素を追加します。
追加された要素には val が設定されます。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの Get を呼び出します。
指定した名前の要素が既に存在する場合、例外が発生します。
戻り値: this を返します。
IString name :追加する要素名
IFloat val :追加した要素に設定する値
先頭へ
PFloatMap::SetAdd
public SelfType@ SetAdd( IString name, IFloat val)
この連想配列の name の名前を持つ要素に val を代入します。
このメソッドは指定した要素名が無効な場合、要素を追加してから代入します。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの Get を呼び出します。
戻り値: this を返します。
IString name :設定する要素名
IFloat val :設定する値
先頭へ
PFloatMap::EachSet
public readonly SelfType@ EachSet(editable PFloatMapEach each)const
この連想配列を列挙するための列挙オブジェクトを設定します。
ここで設定した列挙オブジェクトは列挙メソッドで使用します。
戻り値: this を返します。
editable PFloatMapEach each :[出力]設定する列挙オブジェクト
先頭へ
PFloatMap::Keys
public Bool Keys(editable INativeString key,editable PFloatMapEach each)const
この連想配列に含まれる要素名を列挙します。
each に指定する列挙オブジェクトはこの連想配列の EachSet で設定されたものでなければいけません。
このメソッドを呼び出す度に、 key に要素名が順番に格納され、列挙オブジェクトの状態が更新されます。
列挙オブジェクトを設定した後に追加された要素が列挙されるかは不定です。
また、最後にこのメソッドが返した要素名以外の要素を削除した場合、
全ての要素を列挙せずに列挙を終了する可能性があります。
戻り値: key に列挙した要素名が出力された場合、真を返します。
呼び出した時点で列挙する要素がない場合、偽を返します。
editable INativeString key :[出力]列挙された要素名を出力するオブジェクト
editable PFloatMapEach each :[入出力]列挙状態を示す列挙オブジェクト
先頭へ
PFloatMap::GetKeyList
public readonly SelfType@ GetKeyList(editable PStringArray list)const
この連想配列に含まれる要素名リストを取得します。
戻り値: this を返します。
editable PStringArray list :[出力]要素名リストを出力するオブジェクト
先頭へ
PFloatMap::Values
public Bool Values(editable INativeFloat val,editable PFloatMapEach each)const
この連想配列に含まれる要素を列挙します。
each に指定する列挙オブジェクトはこの連想配列の EachSet で設定されたものでなければいけません。
このメソッドを呼び出す度に、 val に要素の値が順番に格納され、列挙オブジェクトの状態が更新されます。
列挙オブジェクトを設定した後に追加された要素が列挙されるかは不定です。
また、最後にこのメソッドが返した要素以外の要素を削除した場合、
全ての要素を列挙せずに列挙を終了する可能性があります。
戻り値: val に列挙した要素が出力された場合、真を返します。
呼び出した時点で列挙する要素がない場合、偽を返します。
editable INativeFloat val :[出力]列挙された要素の値を出力するオブジェクト
editable PFloatMapEach each :[入出力]列挙状態を示す列挙オブジェクト
先頭へ
PFloatMap::KeyValues
public Bool KeyValues(editable INativeString key,editable INativeFloat val,editable PFloatMapEach each)const
この連想配列に含まれる要素名と要素を列挙します。
each に指定する列挙オブジェクトはこの連想配列の EachSet で設定されたものでなければいけません。
このメソッドを呼び出す度に、 key に要素名、 val に要素の値が順番に格納され、列挙オブジェクトの状態が更新されます。
列挙オブジェクトを設定した後に追加された要素が列挙されるかは不定です。
また、最後にこのメソッドが返した要素名以外の要素を削除した場合、
全ての要素を列挙せずに列挙を終了する可能性があります。
戻り値:各引数に列挙した要素が出力された場合、真を返します。
呼び出した時点で列挙する要素がない場合、偽を返します。
editable INativeString key :[出力]列挙された要素名を出力するオブジェクト
editable INativeFloat val :[出力]列挙された要素の値を出力するオブジェクト
editable PFloatMapEach each :[入出力]列挙状態を示す列挙オブジェクト
先頭へ
PFloatMap::Rename
public Bool Rename( IString oldname, IString newname)
この連想配列の oldname の名前を持つ要素の名前を newname に変更します。
このメソッドは oldname に指定した要素名が無効な場合や
newname に指定した要素名が既に存在する場合失敗します。
このメソッドは最初に各引数から INativeString による取得を試みます。
これに失敗した場合、 IString@@Get を呼び出します。
このメソッドを呼び出すと列挙オブジェクトが無効になる可能性があります。
列挙中にこのメソッドを使用することは推奨されません。
戻り値:名前の変更に成功すると真を返します。
IString oldname :名前変更する要素名
IString newname :新しい要素名
先頭へ
[前へ] [目次へ] [次へ]
最終更新 2021/07/03