use gtool_iotype(GT_VARIABLE):: var logical:: fail
real:: buffer(任意次元) logical function GtoolGetReal(var, buffer, size(buffer)) logical function GtoolPutReal(var, buffer, size(buffer))
integer:: buffer(任意次元) logical function GtoolGetInt(var, buffer, size(buffer)) logical function GtoolPutInt(var, buffer, size(buffer))
real, pointer:: buffer(任意次元) call Get(var, buffer, [fail]) call Put(var, buffer, [fail])
integer, pointer:: buffer(任意次元) call Get(var, buffer, [fail]) call Put(var, buffer, [fail])
モジュール gtool_io は gtool 変数の入出力を行う手続を定義します。 入力は Get, 出力は Put を含む手続名を用います。
入出力対象となる配列が存在する場合には GtoolGetReal, GtoolGetInt, GtoolPutReal, GtoolPutInt を用います。
配列の大きさが事前に予知できない場合は適切な次元数のポインタ配列を用意し Get, Put を用います。 入出力が成功するごとにポインタ配列には適切な大きさの配列が割り付けられます。 配列が不要になったら deallocate 文で解放すべきです。
一度に読み込まれる領域はデフォルトでは変数全体ですが、 gtool_partial(3f) の手続を用いて制限することができます。