jp.go.aist.rtm.RTC.buffer
インタフェース BufferBase<DataType>

型パラメータ:
DataType - バッファに格納するデータ型
既知の実装クラスの一覧:
RingBuffer

public interface BufferBase<DataType>

BufferBase インターフェース。

種々のバッファのための抽象インターフェースクラス。 具象バッファクラスは、以下の純粋仮想関数の実装を提供しなければならない。 \としてバッファ内で保持するデータ型を指定する。 publicインターフェースとして以下のものを提供する。

書込み関連 読み出し関連


メソッドの概要
 ReturnCode advanceRptr()
          読み出しポインタを進める。
 ReturnCode advanceRptr(int n)
          読み出しポインタを進める。
 ReturnCode advanceWptr()
          書込みポインタを進める。
 ReturnCode advanceWptr(int n)
          書込みポインタを進める。
 boolean empty()
          バッファemptyチェック。
 boolean full()
          バッファfullチェック。
 DataType get()
          バッファからデータを読み出す。
 ReturnCode get(DataRef<DataType> value)
          バッファからデータを読み出す。
 void init(Properties prop)
          バッファの設定
 int length()
          バッファの長さを取得する。
 ReturnCode length(int n)
          バッファの長さをセットする。
 ReturnCode put(DataType data)
          バッファにデータを書き込む。
 ReturnCode read(DataRef<DataType> valueRef)
          バッファからデータを読み出す。
 ReturnCode read(DataRef<DataType> valueRef, int sec, int nsec)
          バッファからデータを読み出す。
 int readable()
          バッファから読み出し可能な要素数。
 ReturnCode reset()
          バッファの状態をリセットする。
 DataType rptr()
          バッファの現在の読み出し要素のポインタ。
 DataType rptr(int n)
          バッファの現在の読み出し要素のポインタ。
 DataType wptr()
          バッファの現在の書込み要素のポインタ。
 DataType wptr(int n)
          バッファの現在の書込み要素のポインタ。
 int writable()
          バッファに書込み可能な要素数。
 ReturnCode write(DataType value)
          バッファにデータを書き込む。
 ReturnCode write(DataType value, int sec, int nsec)
          バッファにデータを書き込む。
 

メソッドの詳細

init

void init(Properties prop)
バッファの設定

パラメータ:
prop - プロパティ

reset

ReturnCode reset()
バッファの状態をリセットする。

バッファの読み出しポインタと書き込みポインタの位置をリセットする。

戻り値:
BUFFER_OK: 正常終了 NOT_SUPPORTED: リセット不可能 BUFFER_ERROR: 異常終了

wptr

DataType wptr(int n)
バッファの現在の書込み要素のポインタ。

バッファの現在の書込み要素のポインタまたは、n個先のポインタを返す

パラメータ:
n - 書込みポインタ + n の位置のポインタ
戻り値:
書込み位置のポインタ

wptr

DataType wptr()
バッファの現在の書込み要素のポインタ。

バッファの現在の書込む

戻り値:
書込み位置のポインタ

advanceWptr

ReturnCode advanceWptr(int n)
書込みポインタを進める。

現在の書き込み位置のポインタを n 個進める。

パラメータ:
n - 書込みポインタ + n の位置のポインタ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

advanceWptr

ReturnCode advanceWptr()
書込みポインタを進める。

現在の書き込み位置のポインタを 1 個進める。

戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

writable

int writable()
バッファに書込み可能な要素数。

バッファに書込み可能な要素数を返す。

戻り値:
書き込み可能な要素数

full

boolean full()
バッファfullチェック。

バッファfullチェック用純粋仮想関数

戻り値:
fullチェック結果(true:バッファfull,false:バッファ空きあり)

rptr

DataType rptr(int n)
バッファの現在の読み出し要素のポインタ。

バッファの現在の読み出し要素のポインタまたは、 n個先のポインタを返す

パラメータ:
n - 読み出しポインタ + n の位置のポインタ
戻り値:
読み出し位置のポインタ

rptr

DataType rptr()
バッファの現在の読み出し要素のポインタ。

バッファの現在の読み出返す

戻り値:
読み出し位置のポインタ

advanceRptr

ReturnCode advanceRptr()
読み出しポインタを進める。

現在の読み出し位置のポインタを 1 個進める。

戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

advanceRptr

ReturnCode advanceRptr(int n)
読み出しポインタを進める。

現在の読み出し位置のポインタを n 個進める。

パラメータ:
n - 読み出しポインタ + n の位置のポインタ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

readable

int readable()
バッファから読み出し可能な要素数。

バッファから読み出し可能な要素数を返す。

戻り値:
読み出し可能な要素数

empty

boolean empty()
バッファemptyチェック。

バッファemptyチェック用純粋仮想関数

戻り値:
emptyチェック結果(true:バッファempty,false:バッファデータあり)

length

int length()
バッファの長さを取得する。

バッファ長を取得するための純粋仮想関数

戻り値:
バッファ長

length

ReturnCode length(int n)
バッファの長さをセットする。

バッファ長を設定する。設定不可な場合はNOT_SUPPORTEDが返る。

戻り値:
BUFFER_OK: 正常終了 NOT_SUPPORTED: バッファ長変更不可 BUFFER_ERROR: 異常終了

write

ReturnCode write(DataType value)
バッファにデータを書き込む。

バッファにデータを書き込む。書き込みポインタの位置は1つすすむ。

パラメータ:
value - 書き込み対象データ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

write

ReturnCode write(DataType value,
                 int sec,
                 int nsec)
バッファにデータを書き込む。

バッファにデータを書き込む。書き込みポインタの位置は1つすすむ。

パラメータ:
value - 書き込み対象データ
sec - タイムアウト時間 sec (default -1: 無効)
nsec - タイムアウト時間 nsec (default 0)
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

read

ReturnCode read(DataRef<DataType> valueRef)
バッファからデータを読み出す。

バッファからデータを読み出すための純粋仮想関数

パラメータ:
valueRef - 読み込んだデータを受け取るためのDataRefオブジェクト
戻り値:
データ読み出し結果

read

ReturnCode read(DataRef<DataType> valueRef,
                int sec,
                int nsec)
バッファからデータを読み出す。

バッファからデータを読み出すための純粋仮想関数

パラメータ:
valueRef - 読み込んだデータを受け取るためのDataRefオブジェクト
sec - タイムアウト時間 sec (default -1: 無効)
nsec - タイムアウト時間 nsec (default 0)
戻り値:
データ読み出し結果

put

ReturnCode put(DataType data)
バッファにデータを書き込む。

バッファにデータを書き込む。書き込みポインタの位置は変更されない。

パラメータ:
data - 書き込むデータ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

get

DataType get()
バッファからデータを読み出す。

バッファからデータを読みだす。読み出しポインタの位置は 変更されない。

戻り値:
読み込んだデータ

get

ReturnCode get(DataRef<DataType> value)
バッファからデータを読み出す。

バッファからデータを読みだす。読み出しポインタの位置は 変更されない。

パラメータ:
value - 読み出しデータ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了