OpenRTM-aist 2.0.2
|
BufferBase 抽象クラス [詳解]
#include <BufferBase.h>
公開メンバ関数 | |
virtual | ~BufferBase ()=default |
仮想デストラクタ | |
virtual void | init (const coil::Properties &prop)=0 |
バッファの設定 | |
virtual size_t | length () const =0 |
バッファの長さを取得する | |
virtual BufferStatus | length (size_t n)=0 |
バッファの長さをセットする | |
virtual BufferStatus | reset ()=0 |
バッファの状態をリセットする | |
virtual DataType * | wptr (long int n=0)=0 |
バッファの現在の書込み要素のポインタ | |
virtual BufferStatus | advanceWptr (long int n=1, bool unlock_enable=true)=0 |
書込みポインタを進める | |
virtual BufferStatus | put (const DataType &value)=0 |
バッファにデータを書き込む | |
virtual BufferStatus | write (const DataType &value, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(-1))=0 |
バッファにデータを書き込む | |
virtual size_t | writable () const =0 |
バッファに書込み可能な要素数 | |
virtual bool | full () const =0 |
バッファfullチェック | |
virtual DataType * | rptr (long int n=0)=0 |
バッファの現在の読み出し要素のポインタ | |
virtual BufferStatus | advanceRptr (long int n=1, bool unlock_enable=true)=0 |
読み出しポインタを進める | |
virtual BufferStatus | get (DataType &value)=0 |
バッファからデータを読み出す | |
virtual DataType & | get ()=0 |
バッファからデータを読み出す | |
virtual BufferStatus | read (DataType &value, std::chrono::nanoseconds nsec=std::chrono::nanoseconds(-1))=0 |
バッファからデータを読み出す | |
virtual size_t | readable () const =0 |
バッファから読み出し可能な要素数 | |
virtual bool | empty () const =0 |
バッファemptyチェック | |
BufferBase 抽象クラス
種々のバッファのための抽象インターフェースクラス。 具象バッファクラスは、以下の純粋仮想関数の実装を提供しなければならない。 <DataType>としてバッファ内で保持するデータ型を指定する。
publicインターフェースとして以下のものを提供する。
書込み関連
読み出し関連
DataType | バッファに格納するデータ型 |
|
virtualdefault |
仮想デストラクタ
|
pure virtual |
読み出しポインタを進める
現在の読み出し位置のポインタを n 個進める。
n | 読み出しポインタ + n の位置のポインタ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
書込みポインタを進める
現在の書き込み位置のポインタを n 個進める。
n | 書込みポインタ + n の位置のポインタ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファemptyチェック
バッファemptyチェック用純粋仮想関数
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファfullチェック
バッファfullチェック用純粋仮想関数
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファからデータを読み出す
バッファからデータを読みだす。読み出しポインタの位置は変更されない。
RTC::NullBuffer< DataType >, RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファからデータを読み出す
バッファからデータを読みだす。読み出しポインタの位置は変更されない。
value | 読み出しデータ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファの設定
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファの長さを取得する
バッファ長を取得するための純粋仮想関数
RTC::NullBuffer< DataType >, RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファの長さをセットする
バッファ長を設定する。設定不可な場合はNOT_SUPPORTEDが返る。
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファにデータを書き込む
バッファにデータを書き込む。書き込みポインタの位置は変更されない。
value | 書き込み対象データ |
RTC::NullBuffer< DataType >, RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファからデータを読み出す
バッファからデータを読み出すための純粋仮想関数
value | 読み出しデータ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファから読み出し可能な要素数
バッファから読み出し可能な要素数を返す。
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファの状態をリセットする
バッファの読み出しポインタと書き込みポインタの位置をリセットする。
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファの現在の読み出し要素のポインタ
バッファの現在の読み出し要素のポインタまたは、n個先のポインタを返す
n | 読み出しポインタ + n の位置のポインタ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファの現在の書込み要素のポインタ
バッファの現在の書込み要素のポインタまたは、n個先のポインタを返す
n | 書込みポインタ + n の位置のポインタ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファに書込み可能な要素数
バッファに書込み可能な要素数を返す。
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。
|
pure virtual |
バッファにデータを書き込む
バッファにデータを書き込む。書き込みポインタの位置は1つすすむ。
value | 書き込み対象データ |
RTC::RingBuffer< DataType >, RTC::RingBuffer< RTC::EventBase * >で実装されています。