Schedule

名前

Schedule — 時刻値で順序づけられたアクションのコレクション。

説明

複数のアクションがすべて同時にスケジュールされるとき、それらはすべて、その時刻値用に作成される並行アクショングループに挿入されます。これらの並行アクションに対するデフォルトのアクショングループを、ユーザ定義のカスタムサブクラスでオーバーライドするときは、ConcurrentGroupTypeオプションが使用できます(.. 詳しい方法はまだ解説されていませんが、例はあります)。

スケジュール内にアクションを作成するメッセージは、アクションを実行すべき時刻を示すat:引数がある点を除けば、ActionGroupのメッセージと本質的に同じです。createActionメッセージの意味は、各アクションに対応する時刻を除いてActionGroupと同じです。

スケジュールは、collectionsライブラリのMap型から基礎表現を継承します。すべてのメンバの順序付き集合は、スケジュール自身に定義されたcreateActionメッセージのどれかが作成したアクション群だけで構成されなければなりません。いったんアクションが作成されてしまえば、それらはMap型の標準メッセージを使ってアクセスやトラバースができますが、このコレクションのキー値は、Map型によってキー値に定義されるid型にキャストしなければなりません。

スケジュールは、内的に作成されたアクションのソート済みMapがその基本表現となる複合アクションです。これらのアクションのそれぞれに対応するキー値はunsigned整数値で、typedef timeval_tが与えられます。

Scheduleに採用されているプロトコル

CompoundAction ActionCreating CREATABLE RelativeTime RepeatInterval ConcurrentGroupType SingletonGroups

メソッド

フェーズ: Using