OpenRTM-aist  1.2.1
公開メンバ関数 | 全メンバ一覧
RTC::BufferBase< DataType > クラステンプレートabstract

BufferBase 抽象クラス [詳解]

#include <BufferBase.h>

RTC::BufferBase< DataType > の継承関係図
Inheritance graph
[凡例]
RTC::BufferBase< DataType > 連携図
Collaboration graph
[凡例]

公開メンバ関数

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, bool unlock_enable=true)=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, bool unlock_enable=true)=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チェック [詳解]
 

その他の継承メンバ

- 基底クラス RTC::BufferStatus に属する継承公開型
enum  Enum {
  BUFFER_OK = 0, BUFFER_ERROR, BUFFER_FULL, BUFFER_EMPTY,
  NOT_SUPPORTED, TIMEOUT, PRECONDITION_NOT_MET
}
 BufferStatus リターンコード [詳解]
 
- 基底クラス RTC::BufferStatus に属する継承静的公開メンバ関数
static const char * toString (Enum status)
 BufferStatus リターンコードを文字列に変換 [詳解]
 

詳解

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  )
inlinevirtual

関数詳解

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::advanceRptr ( long int  n = 1,
bool  unlock_enable = true 
)
pure virtual

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::advanceWptr ( long int  n = 1,
bool  unlock_enable = true 
)
pure virtual

書込みポインタを進める

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

バッファemptyチェック

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

バッファfullチェック

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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 DataType& RTC::BufferBase< DataType >::get ( )
pure virtual

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

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

戻り値
読み出しデータ

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

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

バッファの設定

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

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

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

戻り値
バッファ長

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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 ReturnCode RTC::BufferBase< DataType >::put ( const DataType &  value)
pure virtual

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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 >で実装されています。

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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

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

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

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

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

参照元 RTC::BufferBase< DataType >::~BufferBase().

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 >で実装されています。

参照元 RTC::BufferBase< DataType >::~BufferBase().


このクラス詳解は次のファイルから抽出されました: