[前へ]
[目次へ]
[次へ]
PIntArray (ネイティブクラス)
このクラスはネイティブ整数配列を扱うクラスです。
このクラスの配列要素はFGESにおけるオブジェクトではなく、
C++レベルで確保および管理されています。
そのため、配列要素とのやり取りは必ずデータがコピーされ、
配列要素への直接の参照を取得することができません。
その代わり、このクラスの配列要素はC++レベルの高速なコードで処理を行えます。
●継承
このクラスは継承をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
このクラスはクラスメソッドを持っていません。
●クラスメンバメソッド
名前
概要
#operator[]
指定した要素番号の値を取得します
#operator{}
指定した要素番号の値を取得します
#operator=[]
複数の要素を一斉代入します
Get
指定した要素番号の値を取得します
Set
要素を代入します
SetAdd
要素に値を加算します
SetSub
要素に値を減算します
SetMul
要素に値を乗算します
SetDiv
要素に値を除算します
Alloc
要素を確保します
Reserve
要素数を変更せずにメモリを確保します
Move
要素を移動します
Push
ひとつの要素を末尾に追加します
PushList
配列を末尾に追加します
PushEx
複数の要素を末尾に追加します
Pop
末尾の要素をひとつ削除します
UnShift
ひとつの要素を先頭に追加します
Shift
先頭の要素をひとつ削除します
Reverse
配列の並びを逆にします
Insert
ひとつの要素を指定位置に挿入します
Erase
指定した要素を削除します
Exchange
指定した二つの要素を交換します
AllClear
配列を完全にクリアします
AllUnLock
要素を全て削除します
GetCount
要素数を取得します
GetFirst
先頭の要素を取得します
GetLast
末尾の要素を取得します
GetAtByLast
指定した要素番号の参照を取得します
Randomize
要素をランダムに再配置します
Sort
要素を整列します
GetList
配列の一部を一括取得します
ToListString
配列を文字列リスト化して取得します
FromListString
文字列リストをこの配列に展開します
ToListString10
配列を文字列リスト化して取得します
FromListString10
文字列リストをこの配列に展開します
IndexOf
指定した値と一致する要素番号を調べます
IsValidIndex
指定した要素番号が有効か判定します
GenerateArithmeticSequence
等差数列を生成します
GenerateGeometricSequence
等比数列を生成します
GetMax5
配列要素の大きい方から最大5要素の値を取得します
GetMax5Index
配列要素の大きい方から最大5要素の要素番号を取得します
GetMin5
配列要素の小さい方から最大5要素の値を取得します
GetMin5Index
配列要素の小さい方から最大5要素の要素番号を取得します
●クラス共有変数
このクラスはクラス共有変数を持っていません。
●インスタンス変数
このクラスはインスタンス変数を持っていません。
●C++レベル追加情報
クラスID:
FGES_CLASSID_PINTARRAY
クラス名:
FGESPIntArray
PIntArray::#operator[]
public readonly
Integer
#operator[](
IInteger
v)const
この配列の
v
番の要素の値を返します。
このメソッドは指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に
v
から
INativeInteger
による取得を試みます。
これに失敗した場合、
v.Get
を呼び出します。
戻り値:指定した要素番号の値を返します。
IInteger
v
:取得する要素番号(0起算)
先頭へ
PIntArray::#operator{}
public readonly
Integer
#operator{}(
IInteger
v,
INativeInteger
? def_value=NULL)const
この配列の
v
番の要素の値を返します。
このメソッドは指定した要素番号が無効な場合、デフォルト値を返します。
このメソッドは最初に
v
から
INativeInteger
による取得を試みます。
これに失敗した場合、
v.Get
を呼び出します。
戻り値:指定した要素番号の値か、なければデフォルト値を返します。
IInteger
v
:取得する要素番号(0起算)
INativeInteger
? def_value=NULL
:要素番号が無効な場合のデフォルト値。
空参照を指定した場合は0を指定したものとして扱います。
先頭へ
PIntArray::#operator=[]
public SelfType@ #operator=[](...)
この配列に引数として渡した要素を一括して代入します。
この配列が既に持っていた要素は全て削除され、引数だけで構成された配列になります。
戻り値:
this
を返します。
可変長引数:代入する要素リスト。全て
INativeInteger
型でなければいけません。
先頭へ
PIntArray::Get
public readonly
Integer
Get(
IInteger
index)const
この配列の
index
番の要素の値を返します。
このメソッドは指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
このメソッドは
#operator[]
と同じ動作です。
戻り値:指定した要素番号の値を返します。
IInteger
index
:取得する要素番号(0起算)
先頭へ
PIntArray::Set
public
Bool
Set(
IInteger
index,
IInteger
val)
この配列の
index
番の要素に
val
を代入します。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:代入に成功すると真を返します。
IInteger
index
:設定する要素番号(0起算)
IInteger
val
:設定する値
先頭へ
PIntArray::SetAdd
public
Bool
SetAdd(
IInteger
index,
IInteger
val)
この配列の
index
番の要素に
val
を加算します。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:処理に成功すると真を返します。
IInteger
index
:処理対象の要素番号(0起算)
IInteger
val
:加算する値
先頭へ
PIntArray::SetSub
public
Bool
SetSub(
IInteger
index,
IInteger
val)
この配列の
index
番の要素に
val
を減算します。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:処理に成功すると真を返します。
IInteger
index
:処理対象の要素番号(0起算)
IInteger
val
:減算する値
先頭へ
PIntArray::SetMul
public
Bool
SetMul(
IInteger
index,
IInteger
val)
この配列の
index
番の要素に
val
を乗算します。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:処理に成功すると真を返します。
IInteger
index
:処理対象の要素番号(0起算)
IInteger
val
:乗算する値
先頭へ
PIntArray::SetDiv
public
Bool
SetDiv(
IInteger
index,
IInteger
val)
この配列の
index
番の要素に
val
を除算します。
このメソッドは指定した要素番号が無効な場合や、
val
が0の場合、偽を返し何も行いません。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:処理に成功すると真を返します。
IInteger
index
:処理対象の要素番号(0起算)
IInteger
val
:除算する値
先頭へ
PIntArray::Alloc
public SelfType@ Alloc(
IInteger
count)
この配列の要素数を
count
まで増やします。
count
がこの配列の要素数より少ない場合、何も起こりません。
このメソッドは最初に
count
から
INativeInteger
による取得を試みます。
これに失敗した場合、
count.Get
を呼び出します。
このメソッドはメモリの確保に失敗した場合、例外が発生します。
戻り値:
this
を返します。
IInteger
count
:確保する要素数
先頭へ
PIntArray::Reserve
public SelfType@ Reserve(
IInteger
count)
この配列の要素数を変更せずに
count
分のメモリを準備します。
このクラスは必要な場合、自動的にメモリを確保するため
通常はこのメソッドを明示的に呼び出す必要はありません。
このメソッドはパフォーマンスを最適化するためだけに存在します。
このメソッドは最初に
count
から
INativeInteger
による取得を試みます。
これに失敗した場合、
count.Get
を呼び出します。
このメソッドはメモリの確保に失敗した場合、例外が発生します。
戻り値:
this
を返します。
IInteger
count
:確保する要素数
先頭へ
PIntArray::Move
public SelfType@ Move(
IInteger
target,
IInteger
dst,
IInteger
count=1)
この配列の
target
番から
count
個の要素を
dst
番に移動します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定した要素番号が無効な場合例外が発生します。
戻り値:
this
を返します。
IInteger
target
:移動元の要素番号(0起算)
IInteger
dst
:移動先の要素番号(0起算)
IInteger
count=1
:移動する要素数
先頭へ
PIntArray::Push
public SelfType@ Push(
IInteger
val)
この配列の末尾に要素を追加します。
このメソッドは最初に
val
から
INativeInteger
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:
this
を返します。
IInteger
val
:追加した要素に設定する値
先頭へ
PIntArray::PushList
public SelfType@ PushList( SelfType list)
この配列の末尾に配列を追加します。
追加された要素には要素型のオブジェクトが作成されて割り当てられ、引数の要素が順次代入されます。
戻り値:
this
を返します。
SelfType list
:代入する配列オブジェクト
先頭へ
PIntArray::PushEx
public SelfType@ PushEx(
INativeInteger
val1,...)
この配列の末尾に引数分の要素を追加します。
追加された要素には引数が順次代入されます。
引数は全て
INativeInteger
型でなければいけません。
戻り値:
this
を返します。
INativeInteger
val1
:代入する要素オブジェクト
可変長引数:2個目以降の代入するオブジェクト
先頭へ
PIntArray::Pop
public SelfType@ Pop(editable
INativeInteger
? output=NULL)
この配列の末尾の要素を削除します。
output
に有効な参照を指定すると、削除した要素の値が出力されます。
配列に要素がない場合、例外が発生します。
戻り値:
this
を返します。
editable
INativeInteger
? output=NULL
:削除した値を出力するオブジェクト。空参照の場合無視します。
先頭へ
PIntArray::UnShift
public SelfType@ UnShift(
IInteger
val)
この配列の先頭に要素を追加します。
このメソッドは最初に
val
から
INativeInteger
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:
this
を返します。
IInteger
val
:追加した要素に設定する値
先頭へ
PIntArray::Shift
public SelfType@ Shift(editable
INativeInteger
? output=NULL)
この配列の先頭の要素を削除します。
output
に有効な参照を指定すると、削除した要素の値が出力されます。
配列に要素がない場合、例外が発生します。
戻り値:
this
を返します。
editable
INativeInteger
? output=NULL
:削除した値を出力するオブジェクト。空参照の場合無視します。
先頭へ
PIntArray::Reverse
public SelfType@ Reverse()
この配列の要素の並びを逆順にします。
戻り値:
this
を返します。
先頭へ
PIntArray::Insert
public SelfType@ Insert(
IInteger
index,
IInteger
val)
この配列の
index
番に要素を挿入します。
追加された要素は指定した要素番号になります。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定する要素番号は追加後に有効な番号でなければいけません。
戻り値:
this
を返します。
IInteger
index
:挿入する要素番号(0起算)
IInteger
val
:挿入した要素に設定する値
先頭へ
PIntArray::Erase
public SelfType@ Erase(
IInteger
target,
IInteger
count=1)
この配列の
target
番から
count
個の要素を削除します。
削除した要素より後ろに要素がある場合、削除した数分番号が詰められます。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定した要素番号が無効な場合例外が発生します。
戻り値:
this
を返します。
IInteger
target
:削除する要素番号(0起算)
IInteger
count=1
:削除する要素数
先頭へ
PIntArray::Exchange
public SelfType@ Exchange(
IInteger
index1,
IInteger
index2)
この配列の
index1
番と
index2
番の要素を交換します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定した要素番号が無効な場合例外が発生します。
戻り値:
this
を返します。
IInteger
index1
:対象の要素番号(0起算)
IInteger
index2
:対象の要素番号(0起算)
先頭へ
PIntArray::AllClear
public SelfType@ AllClear()
この配列の全ての要素を削除し、メモリも解放します。
このメソッドは要素管理用のメモリも解放します。
配列をリセットしてすぐに再使用する場合は
AllUnLock
を使用すべきです。
戻り値:
this
を返します。
先頭へ
PIntArray::AllUnLock
public SelfType@ AllUnLock()
この配列の全ての要素を削除します。
このメソッドは要素管理用のメモリは解放しません。
配列をリセットしてすぐに再使用する場合は
AllClear
より適切です。
戻り値:
this
を返します。
先頭へ
PIntArray::GetCount
public
Integer
GetCount()const
この配列の要素数を返します。
戻り値:この配列の要素数を返します。
先頭へ
PIntArray::GetFirst
public readonly
Integer
GetFirst()const
この配列の先頭要素の値を返します。
配列に要素がない場合、例外が発生します。
戻り値:配列の先頭要素の値を返します。
先頭へ
PIntArray::GetLast
public readonly
Integer
GetLast()const
この配列の末尾要素の値を返します。
配列に要素がない場合、例外が発生します。
戻り値:配列の末尾要素の値を返します。
先頭へ
PIntArray::GetAtByLast
public readonly
Integer
GetAtByLast(
IInteger
index)const
この配列の
(要素数-1-index)
番の要素の値を返します。
つまり、末尾を0とし、先頭に向かって数えた要素番号で
index
を指定します。
このメソッドは指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
戻り値:指定した要素番号の値を返します。
IInteger
index
:取得する要素番号(末尾起算逆順)
先頭へ
PIntArray::Randomize
public SelfType@ Randomize()
この配列をランダムに再配置します。
戻り値:
this
を返します。
先頭へ
PIntArray::Sort
public SelfType@ Sort()
この配列を昇順に整列します。
戻り値:
this
を返します。
先頭へ
PIntArray::GetList
public
Bool
GetList(
INativeInteger
start_index,editable
INativeInteger
out1,...)const
この配列の
start_index
番目からの要素を第2引数以降に順次代入します。
この配列の要素数が足りない場合は失敗します。
引数は全て
editable
INativeInteger
型でなければいけません。
戻り値:処理に成功すると真を返します。
INativeInteger
start_index
:読み出しを開始する要素番号
editable
INativeInteger
out1
:[出力]読み出した値を代入するオブジェクト
可変長引数:[出力]読み出した値を代入する2個目以降のオブジェクト
先頭へ
PIntArray::ToListString
public
String
ToListString()const
この配列の各要素の値を16進カンマ区切りの文字列リストに変換します。
戻り値:配列の各要素の値を文字列リストに変換した文字列を返します。
先頭へ
PIntArray::FromListString
public void FromListString(
IString
liststr)
配列の各要素の値を16進カンマ区切りで記述した文字列リストをこの配列に展開します。
このメソッドはこの配列に既に格納されていた要素を削除します。
IString
liststr
:展開する文字列リスト
先頭へ
PIntArray::ToListString10
public
String
ToListString10()const
この配列の各要素の値を10進カンマ区切りの文字列リストに変換します。
戻り値:配列の各要素の値を文字列リストに変換した文字列を返します。
先頭へ
PIntArray::FromListString10
public void FromListString10(
IString
liststr)
配列の各要素の値を10進カンマ区切りで記述した文字列リストをこの配列に展開します。
このメソッドはこの配列に既に格納されていた要素を削除します。
IString
liststr
:展開する文字列リスト
先頭へ
PIntArray::IndexOf
public
Integer
IndexOf(
IInteger
val,
IInteger
startindex=0)const
この配列内の
startindex
以降にある
val
と一致する要素番号を検索します。
このメソッドはこの配列内にある
val
と同じ値を検索し、
検索範囲内で一致した最も小さい要素番号を返します。
検索範囲内に一致する値が存在しない場合は-1を返します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:指定した値と一致する要素番号か、見つからなければ-1を返します。
IInteger
val
:検索する値。
IInteger
startindex=0
:検索開始する要素番号(0起算)
先頭へ
PIntArray::IsValidIndex
public
Bool
IsValidIndex(
IInteger
index)const
index
がこの配列の要素番号として有効か判定します。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
戻り値:
index
がこの配列の要素番号として有効であれば真を返します。
IInteger
index
:判定する要素番号。
先頭へ
PIntArray::GenerateArithmeticSequence
public
Bool
GenerateArithmeticSequence(
IInteger
first,
IInteger
count,
IInteger
? d=NULL)
この配列に等差数列を生成します。
この配列が持っていた要素は削除され、生成した要素だけになります。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:生成に成功すると真を返します。
IInteger
first
:等差数列の初項。
IInteger
count
:等差数列の項数。
IInteger
? d=NULL
:等差数列の公差。
空参照を指定した場合は1を指定したものとして扱います。
先頭へ
PIntArray::GenerateGeometricSequence
public
Bool
GenerateGeometricSequence(
IInteger
first,
IInteger
count,
IInteger
? r=NULL)
この配列に等比数列を生成します。
この配列が持っていた要素は削除され、生成した要素だけになります。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:生成に成功すると真を返します。
IInteger
first
:等比数列の初項。
IInteger
count
:等比数列の項数。
IInteger
? r=NULL
:等比数列の公比。
空参照を指定した場合は2を指定したものとして扱います。
先頭へ
PIntArray::GetMax5
public
Integer
GetMax5(editable
INativeInteger
? max1,
editable
INativeInteger
? max2=NULL,editable
INativeInteger
? max3=NULL,
editable
INativeInteger
? max4=NULL,editable
INativeInteger
? max5=NULL)const
この配列が保持している値を大きい順に並べた時の上位5要素の値を取得します。
配列内に同値が複数ある場合、それらは個別に存在するものとして扱われます。
この配列が5要素を持っていない場合、不足分には表現できる最低値が出力されます。
戻り値:有意な値が出力された要素数を返します。
editable
INativeInteger
? max1
:[出力]保持値のなかで最も大きい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max2=NULL
:[出力]保持値のなかで2番目に大きい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max3=NULL
:[出力]保持値のなかで3番目に大きい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max4=NULL
:[出力]保持値のなかで4番目に大きい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max5=NULL
:[出力]保持値のなかで5番目に大きい値を出力するオブジェクト。
空参照を指定した場合は無視します。
先頭へ
PIntArray::GetMax5Index
public
Integer
GetMax5Index(editable
INativeInteger
? max1,
editable
INativeInteger
? max2=NULL,editable
INativeInteger
? max3=NULL,
editable
INativeInteger
? max4=NULL,editable
INativeInteger
? max5=NULL)const
この配列が保持している値を大きい順に並べた時の上位5要素の要素番号を取得します。
配列内に同値が複数ある場合、それらは個別に存在するものとして扱われます。
この配列が5要素を持っていない場合、不足分には-1が出力されます。
戻り値:有意な値が出力された要素数を返します。
editable
INativeInteger
? max1
:[出力]保持値のなかで最も大きい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max2=NULL
:[出力]保持値のなかで2番目に大きい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max3=NULL
:[出力]保持値のなかで3番目に大きい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max4=NULL
:[出力]保持値のなかで4番目に大きい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? max5=NULL
:[出力]保持値のなかで5番目に大きい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
先頭へ
PIntArray::GetMin5
public
Integer
GetMin5(editable
INativeInteger
? min1,
editable
INativeInteger
? min2=NULL,editable
INativeInteger
? min3=NULL,
editable
INativeInteger
? min4=NULL,editable
INativeInteger
? min5=NULL)const
この配列が保持している値を小さい順に並べた時の上位5要素の値を取得します。
配列内に同値が複数ある場合、それらは個別に存在するものとして扱われます。
この配列が5要素を持っていない場合、不足分には表現できる最大値が出力されます。
戻り値:有意な値が出力された要素数を返します。
editable
INativeInteger
? min1
:[出力]保持値のなかで最も小さい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min2=NULL
:[出力]保持値のなかで2番目に小さい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min3=NULL
:[出力]保持値のなかで3番目に小さい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min4=NULL
:[出力]保持値のなかで4番目に小さい値を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min5=NULL
:[出力]保持値のなかで5番目に小さい値を出力するオブジェクト。
空参照を指定した場合は無視します。
先頭へ
PIntArray::GetMin5Index
public
Integer
GetMin5Index(editable
INativeInteger
? min1,
editable
INativeInteger
? min2=NULL,editable
INativeInteger
? min3=NULL,
editable
INativeInteger
? min4=NULL,editable
INativeInteger
? min5=NULL)const
この配列が保持している値を小さい順に並べた時の上位5要素の要素番号を取得します。
配列内に同値が複数ある場合、それらは個別に存在するものとして扱われます。
この配列が5要素を持っていない場合、不足分には-1が出力されます。
戻り値:有意な値が出力された要素数を返します。
editable
INativeInteger
? min1
:[出力]保持値のなかで最も小さい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min2=NULL
:[出力]保持値のなかで2番目に小さい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min3=NULL
:[出力]保持値のなかで3番目に小さい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min4=NULL
:[出力]保持値のなかで4番目に小さい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeInteger
? min5=NULL
:[出力]保持値のなかで5番目に小さい値を持つ要素番号を出力するオブジェクト。
空参照を指定した場合は無視します。
先頭へ
[前へ]
[目次へ]
[次へ]
最終更新 2023/01/21