クラス テンプレート RTC::BufferBase< DataType >

BufferBase 抽象クラス. [詳細]

#include <BufferBase.h>

RTC::BufferBase< DataType >に対する継承グラフ
RTC::BufferStatus RTC::NullBuffer< DataType > RTC::RingBuffer< DataType >

すべてのメンバ一覧

Public メソッド

virtual BUFFERSTATUS_ENUM ~BufferBase (void)
 仮想デストラクタ
virtual void init (const coil::Properties &prop)=0
 バッファの設定
virtual size_t length (void) const =0
 バッファの長さを取得する
virtual ReturnCode length (size_t n)=0
 バッファの長さをセットする
virtual ReturnCode reset ()=0
 バッファの状態をリセットする
virtual DataType * wptr (long int n=0)=0
 バッファの現在の書込み要素のポインタ
virtual ReturnCode advanceWptr (long int n=1)=0
 書込みポインタを進める
virtual ReturnCode put (const DataType &value)=0
 バッファにデータを書き込む
virtual ReturnCode write (const DataType &value, long int sec=-1, long int nsec=-1)=0
 バッファにデータを書き込む
virtual size_t writable () const =0
 バッファに書込み可能な要素数
virtual bool full (void) const =0
 バッファfullチェック
virtual DataType * rptr (long int n=0)=0
 バッファの現在の読み出し要素のポインタ
virtual ReturnCode advanceRptr (long int n=1)=0
 読み出しポインタを進める
virtual ReturnCode get (DataType &value)=0
 バッファからデータを読み出す
virtual DataType & get ()=0
 バッファからデータを読み出す
virtual ReturnCode read (DataType &value, long int sec=-1, long int nsec=-1)=0
 バッファからデータを読み出す
virtual size_t readable () const =0
 バッファから読み出し可能な要素数
virtual bool empty (void) const =0
 バッファemptyチェック

説明

template<class DataType>
class RTC::BufferBase< DataType >

BufferBase 抽象クラス.

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

publicインターフェースとして以下のものを提供する。

書込み関連

読み出し関連

引数:
DataType バッファに格納するデータ型
から:
0.4.0

コンストラクタとデストラクタ

template<class DataType>
virtual BUFFERSTATUS_ENUM RTC::BufferBase< DataType >::~BufferBase ( void   )  [inline, virtual]

仮想デストラクタ


関数

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::advanceRptr ( long int  n = 1  )  [pure virtual]

読み出しポインタを進める

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

引数:
n 読み出しポインタ + n の位置のポインタ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::advanceWptr ( long int  n = 1  )  [pure virtual]

書込みポインタを進める

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

引数:
n 書込みポインタ + n の位置のポインタ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual bool RTC::BufferBase< DataType >::empty ( void   )  const [pure virtual]

バッファemptyチェック

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

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

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual bool RTC::BufferBase< DataType >::full ( void   )  const [pure virtual]

バッファfullチェック

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

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

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual DataType& RTC::BufferBase< DataType >::get (  )  [pure virtual]

バッファからデータを読み出す

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

戻り値:
読み出しデータ

RTC::NullBuffer< DataType >, と RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::get ( DataType &  value  )  [pure virtual]

バッファからデータを読み出す

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

引数:
value 読み出しデータ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual void RTC::BufferBase< DataType >::init ( const coil::Properties &  prop  )  [pure virtual]

バッファの設定

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::length ( size_t  n  )  [pure virtual]

バッファの長さをセットする

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

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

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual size_t RTC::BufferBase< DataType >::length ( void   )  const [pure virtual]

バッファの長さを取得する

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

戻り値:
バッファ長

RTC::NullBuffer< DataType >, と RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::put ( const DataType &  value  )  [pure virtual]

バッファにデータを書き込む

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

引数:
value 書き込み対象データ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

RTC::NullBuffer< DataType >, と RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::read ( DataType &  value,
long int  sec = -1,
long int  nsec = -1 
) [pure virtual]

バッファからデータを読み出す

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

引数:
value 読み出しデータ
戻り値:
データ読み出し結果(true:読み出し成功,false:読み出し失敗)

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual size_t RTC::BufferBase< DataType >::readable (  )  const [pure virtual]

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

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

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

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::reset (  )  [pure virtual]

バッファの状態をリセットする

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

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

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual DataType* RTC::BufferBase< DataType >::rptr ( long int  n = 0  )  [pure virtual]

バッファの現在の読み出し要素のポインタ

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

引数:
n 読み出しポインタ + n の位置のポインタ
戻り値:
読み出し位置のポインタ

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual DataType* RTC::BufferBase< DataType >::wptr ( long int  n = 0  )  [pure virtual]

バッファの現在の書込み要素のポインタ

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

引数:
n 書込みポインタ + n の位置のポインタ
戻り値:
書込み位置のポインタ

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual size_t RTC::BufferBase< DataType >::writable (  )  const [pure virtual]

バッファに書込み可能な要素数

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

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

RTC::RingBuffer< DataType >で実装されています。

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::write ( const DataType &  value,
long int  sec = -1,
long int  nsec = -1 
) [pure virtual]

バッファにデータを書き込む

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

引数:
value 書き込み対象データ
戻り値:
BUFFER_OK: 正常終了 BUFFER_ERROR: 異常終了

RTC::RingBuffer< DataType >で実装されています。

OpenRTMに対してFri Mar 11 00:00:50 2011に生成されました。  doxygen 1.6.3