[前へ] [目次へ] [次へ]

BoundMethod (ネイティブクラス)


このクラスは拘束メソッドを扱うクラスです。

拘束メソッドとは、呼び出しのホストオブジェクトとメソッドの組み合わせを保存し、
どのような状況で呼び出されても事前の組み合わせで呼び出すメソッドです。

このクラスは参照だけを保存し、メモリ管理は行いません。
呼び出しを行った時点で組み合わせたオブジェクトが消滅していると例外が発生します。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   implements INativeMethod
          Call
          Reserve
          CallV
          ReserveV
          ValidateCall
          ValidateCallV
          (C++レベルキャスト)FGESBoundMethod


   implements INativeClosure
          Call
          CallV
          ValidateCall
          ValidateCallV
          (C++レベルキャスト)FGESBoundMethod


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public設定メソッド #operator=代入
public設定メソッド Set呼び出す組み合わせを設定します
public設定メソッド ConstSet呼び出す組み合わせを設定します
public操作メソッド Clear設定した組み合わせを解除します
public操作メソッドconst Callメソッドとして呼び出します
public操作メソッドconst Reserveこのメソッドを予約します
public操作メソッドconst CallVメソッドとして呼び出します
public操作メソッドconst ReserveVこのメソッドを予約します
public比較・判定メソッドconst IsAlive設定した組み合わせが生存しているか判定します
public取得メソッドconst GetHostObject設定しているホストオブジェクトを取得します
public取得メソッドconst GetMethodObject設定しているメソッドオブジェクトを取得します
public比較・判定メソッドconst ValidateCallメソッドとして呼び出せるか検証します
public比較・判定メソッドconst ValidateCallVメソッドとして呼び出せるか検証します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_BOUNDMETHOD
クラス名: FGESBoundMethod



BoundMethod::INativeMethod@@Call

Any?@ INativeMethod@@Call(...)const

   このオブジェクトが示すメソッドを呼び出します。
   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。

戻り値:呼び出したメソッドの戻り値を返します

可変長引数:呼び出すメソッドの引数としてそのまま使われます

先頭へ


BoundMethod::INativeMethod@@Reserve

Bool INativeMethod@@Reserve(...)const

   このオブジェクトが示すメソッドを予約します。
   予約したメソッドはこのスレッドの呼び出しスタックの最下層に挿入され、
   現在このスレッドが実行しているメソッドが全て終了した後、   実行が開始されます。

   引数のオブジェクトは実行が開始されるまで存在していなければいけません。
   ローカル変数や一時オブジェクトを引数に使うと例外の原因になります。

   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。
   また、予約したメソッドの戻り値は取得できません。

戻り値:予約に成功すると真を返します

可変長引数:呼び出すメソッドの引数としてそのまま使われます

先頭へ


BoundMethod::INativeMethod@@CallV

Any?@ INativeMethod@@CallV( Arguments arg_list)const

   このオブジェクトが示すメソッドを呼び出します。
   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。

戻り値:呼び出したメソッドの戻り値を返します

Arguments arg_list :呼び出すメソッドの引数として展開されます

先頭へ


BoundMethod::INativeMethod@@ReserveV

Bool INativeMethod@@ReserveV( Arguments arg_list)const

   このオブジェクトが示すメソッドを予約します。
   予約したメソッドはこのスレッドの呼び出しスタックの最下層に挿入され、
   現在このスレッドが実行しているメソッドが全て終了した後、   実行が開始されます。

   引数のオブジェクトは実行が開始されるまで存在していなければいけません。
   ローカル変数や一時オブジェクトを引数に使うと例外の原因になります。

   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。
   また、予約したメソッドの戻り値は取得できません。

戻り値:予約に成功すると真を返します

Arguments arg_list :呼び出すメソッドの引数として展開されます

先頭へ


BoundMethod::INativeMethod@@ValidateCall

Bool INativeMethod@@ValidateCall(...)const

   このオブジェクトが示すメソッドを指定した引数で呼び出せるか検証します。

戻り値:指定した引数で呼び出せる場合は真を返します。

可変長引数:検証する引数列

先頭へ


BoundMethod::INativeMethod@@ValidateCallV

Bool INativeMethod@@ValidateCallV( Arguments arg_list)const

   このオブジェクトが示すメソッドを指定した引数で呼び出せるか検証します。

戻り値:指定した引数で呼び出せる場合は真を返します。

Arguments arg_list :検証する引数

先頭へ


BoundMethod::INativeClosure@@Call

Any?@ INativeClosure@@Call(...)const

   このオブジェクトが示すメソッドを呼び出します。
   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。

戻り値:呼び出したメソッドの戻り値を返します

可変長引数:呼び出すメソッドの引数としてそのまま使われます

先頭へ


BoundMethod::INativeClosure@@CallV

Any?@ INativeClosure@@CallV( Arguments arg_list)const

   このオブジェクトが示すメソッドを呼び出します。
   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。

戻り値:呼び出したメソッドの戻り値を返します

Arguments arg_list :呼び出すメソッドの引数として展開されます

先頭へ


BoundMethod::INativeClosure@@ValidateCall

Bool INativeClosure@@ValidateCall(...)const

   このオブジェクトが示すメソッドを指定した引数で呼び出せるか検証します。

戻り値:指定した引数で呼び出せる場合は真を返します。

可変長引数:検証する引数列

先頭へ


BoundMethod::INativeClosure@@ValidateCallV

Bool INativeClosure@@ValidateCallV( Arguments arg_list)const

   このオブジェクトが示すメソッドを指定した引数で呼び出せるか検証します。

戻り値:指定した引数で呼び出せる場合は真を返します。

Arguments arg_list :検証する引数

先頭へ


BoundMethod::#operator=

public SelfType@ #operator=( SelfType v)

   このオブジェクトに v を代入します。

戻り値: this を返します。

IInteger v :代入する値を持つオブジェクト

先頭へ


BoundMethod::Set

public Bool Set(editable Any? hostobj, FGESMethod method_obj)

   このオブジェクトを呼び出した時に使用する
   ホストオブジェクトと呼び出すメソッドのペアを設定します。
   このペアは method_obj.CallV(hostobj,arglist) の形で
   呼び出せる組み合わせでなければいけません。
   また、このメソッドはこの呼び出しが本当に可能かは検証しません。
   このメソッドの実行時に method_obj が呼び出されることはありません。
   
戻り値:設定に成功すると真を返します

editable Any? hostobj :呼び出しのホストオブジェクト
FGESMethod method_obj :呼び出すメソッド

先頭へ


BoundMethod::ConstSet

public Bool ConstSet( Any? hostobj, FGESMethod method_obj)

   このオブジェクトを呼び出した時に使用する
   ホストオブジェクトと呼び出すメソッドのペアを設定します。
   このペアは method_obj.ConstCallV(hostobj,arglist) の形で
   呼び出せる組み合わせでなければいけません。
   また、このメソッドはこの呼び出しが本当に可能かは検証しません。
   このメソッドの実行時に method_obj が呼び出されることはありません。
   
戻り値:設定に成功すると真を返します

Any? hostobj :呼び出しのホストオブジェクト
FGESMethod method_obj :呼び出すメソッド

先頭へ


BoundMethod::Clear

public void Clear()

   このオブジェクトを呼び出した時に使用する
   ホストオブジェクトと呼び出すメソッドのペアの設定を解除します。
   
先頭へ


BoundMethod::Call

public Any?@ Call(...)const

   このオブジェクトが示すメソッドを呼び出します。
   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。

戻り値:呼び出したメソッドの戻り値を返します

可変長引数:呼び出すメソッドの引数としてそのまま使われます

先頭へ


BoundMethod::Reserve

public Bool Reserve(...)const

   このオブジェクトが示すメソッドを予約します。
   予約したメソッドはこのスレッドの呼び出しスタックの最下層に挿入され、
   現在このスレッドが実行しているメソッドが全て終了した後、   実行が開始されます。

   引数のオブジェクトは実行が開始されるまで存在していなければいけません。
   ローカル変数や一時オブジェクトを引数に使うと例外の原因になります。

   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。
   また、予約したメソッドの戻り値は取得できません。

戻り値:予約に成功すると真を返します

可変長引数:呼び出すメソッドの引数としてそのまま使われます

先頭へ


BoundMethod::CallV

public Any?@ CallV( Arguments arg_list)const

   このオブジェクトが示すメソッドを呼び出します。
   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。

戻り値:呼び出したメソッドの戻り値を返します

Arguments arg_list :呼び出すメソッドの引数として展開されます

先頭へ


BoundMethod::ReserveV

public Bool ReserveV( Arguments arg_list)const

   このオブジェクトが示すメソッドを予約します。
   予約したメソッドはこのスレッドの呼び出しスタックの最下層に挿入され、
   現在このスレッドが実行しているメソッドが全て終了した後、   実行が開始されます。

   引数のオブジェクトは実行が開始されるまで存在していなければいけません。
   ローカル変数や一時オブジェクトを引数に使うと例外の原因になります。

   事前に Set または ConstSet でメソッドを設定していない場合例外が発生します。
   また、予約したメソッドの戻り値は取得できません。

戻り値:予約に成功すると真を返します

Arguments arg_list :呼び出すメソッドの引数として展開されます

先頭へ


BoundMethod::IsAlive

public Bool IsAlive()const

   このオブジェクトを呼び出した時に使用する
   ホストオブジェクトと呼び出すメソッドのペアが生存しているか判定します。
   ホストオブジェクトとして空参照が指定されている場合、呼び出すメソッドの生存のみを判定します。
   呼び出すメソッドが設定されていない場合、このメソッドは偽を返します。

戻り値:設定しているペアが生存している場合、真を返します。

先頭へ


BoundMethod::GetHostObject

public readonly Any?@ GetHostObject()const

   このオブジェクトを呼び出した時に使用するホストオブジェクトを取得します。
   このメソッドは設定されているホストオブジェクトが現存しない場合、空参照を返します。
   このメソッドはホストオブジェクトが設定されていない場合、空参照を返します。

戻り値:設定しているホストオブジェクトを返します。
      有効なホストオブジェクトが設定されていない場合、空参照を返します。

先頭へ


BoundMethod::GetMethodObject

public readonly FGESMethod?@ GetMethodObject()const

   このオブジェクトを呼び出した時に使用するメソッドオブジェクトを取得します。
   このメソッドは設定されているメソッドオブジェクトが現存しない場合、空参照を返します。
   このメソッドはメソッドオブジェクトが設定されていない場合、空参照を返します。

戻り値:設定しているメソッドオブジェクトを返します。
      有効なメソッドオブジェクトが設定されていない場合、空参照を返します。

先頭へ


BoundMethod::ValidateCall

public Bool ValidateCall(...)const

   このオブジェクトが示すメソッドを指定した引数で呼び出せるか検証します。

戻り値:指定した引数で呼び出せる場合は真を返します。

可変長引数:検証する引数列

先頭へ


BoundMethod::ValidateCallV

public Bool ValidateCallV( Arguments arg_list)const

   このオブジェクトが示すメソッドを指定した引数で呼び出せるか検証します。

戻り値:指定した引数で呼び出せる場合は真を返します。

Arguments arg_list :検証する引数

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2019/04/09