Seekable (クラス)
public abstract shared Seekable
パッケージ: CURL.IO.STREAM
直接継承しているサブクラス: SeekableOutputStream-of, OutputStreamBufferSeekable-of, SeekableInputStream-of, InputStreamBufferSeekable-of

Stream に組み込まれるインターフェイスで、現在のファイル ポインタを移動するためのインターフェイスを提供します。


メソッド
seek:通常はストリームを読み書きする単位で、カーソルを指定された位置に移動します。
public abstract {Seekable.seek offset:int64, from:SeekFrom}:int64
seek-style-supported?:style SeekStyle がこのオブジェクトでサポートされているかどうかを示します。オブジェクトが任意の数の SeekStyle をサポートする場合があります。
public abstract {Seekable.seek-style-supported? style:SeekStyle}:bool
tell:現在のカーソル位置を返します。既定の実装は単に {self.seek 0, SeekFrom.current} になります。
public {Seekable.tell}:int64
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize







メソッド詳細
seek (メソッド)
public abstract {Seekable.seek offset:int64, from:SeekFrom}:int64

通常はストリームを読み書きする単位で、カーソルを指定された位置に移動します。

注意事項

閉じているストリームでこのメソッドを呼び出すとエラーになります。

オーバーライド

非抽象サブクラスにより提供される必要があります。実装では次のようなコードを含める必要があリます。
{if not self.open? then
    {throw {new IOException, {format "%s not open", self}}}
}
このメソッドの実装の上部に記述します。
offset: from から相対的な、カーソルの移動先を表す int64
from: offset を追加する SeekFrom

戻り値

カーソルの位置を返します。カーソルの位置が使用不可または決定できない場合は -1 を返します。


seek-style-supported? (メソッド)
public abstract {Seekable.seek-style-supported? style:SeekStyle}:bool

style SeekStyle がこのオブジェクトでサポートされているかどうかを示します。オブジェクトが任意の数の SeekStyle をサポートする場合があります。

style: クエリ対象の SeekStyle

オーバーライド

実装側が提供する必要があります。


tell (メソッド)
public {Seekable.tell}:int64

現在のカーソル位置を返します。既定の実装は単に {self.seek 0, SeekFrom.current} になります。

オーバーライド

クラスの既定の実装より効率的な実装が可能であればそれを提供します。

注意事項

実装側が start 以外のカーソル位置を提供していない場合は -1 を返すことがあります。カーソル位置をまったく提供していない場合は、SeekStyle.saved-offset がサポートされていない場合に限ってエラーになります。閉じているストリームでこのメソッドを呼び出すとエラーになります。