OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
RTC::BufferBase< DataType > クラステンプレートabstract

BufferBase 抽象クラス [詳解]

#include <BufferBase.h>

RTC::BufferBase< DataType > の継承関係図

公開メンバ関数

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チェック
 

詳解

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

BufferBase 抽象クラス

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

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

  • length(): バッファの長さを返す
  • length(n): バッファ長をnにセットする
  • reset(): バッファのポインタをリセットする

書込み関連

  • wptr(n=0): 現在の書き込み対象の要素のn個先のポインタを返す。
  • advanceWptr(n=1): 書込みポインタをn進める。
  • put(): 現在の書き込み位置に書き込む、ポインタは進めない。
  • write(): バッファに書き込む。ポインタは1つすすむ。
  • writable(): 書込み可能な要素数を返す。
  • full(): バッファがフル状態。

読み出し関連

  • rptr(n=0): 現在の読み出し対象のn個先のポインタを返す。
  • advanceRptr(n=1): 読み出しポインタをn進める。
  • get(): 現在の読み出し位置から読む。ポインタは進めない。
  • read(): バッファから読み出す。ポインタは1つすすむ。
  • readable(): 読み出し可能要素数を返す。
  • empty(): バッファが空状態。
引数
DataTypeバッファに格納するデータ型
から
0.4.0

構築子と解体子

◆ ~BufferBase()

template<class DataType >
virtual RTC::BufferBase< DataType >::~BufferBase ( )
virtualdefault

仮想デストラクタ

関数詳解

◆ advanceRptr()

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

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

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

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

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

◆ advanceWptr()

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

書込みポインタを進める

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

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

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

◆ empty()

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

バッファemptyチェック

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

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

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

◆ full()

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

バッファfullチェック

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

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

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

◆ get() [1/2]

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

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

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

戻り値
読み出しデータ

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

◆ get() [2/2]

template<class DataType >
virtual BufferStatus RTC::BufferBase< DataType >::get ( DataType & value)
pure virtual

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

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

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

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

◆ init()

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

バッファの設定

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

参照元 RTC::EventConnListener::operator()().

◆ length() [1/2]

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

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

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

戻り値
バッファ長

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

◆ length() [2/2]

template<class DataType >
virtual BufferStatus RTC::BufferBase< DataType >::length ( size_t n)
pure virtual

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

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

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

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

◆ put()

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

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

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

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

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

◆ read()

template<class DataType >
virtual BufferStatus RTC::BufferBase< DataType >::read ( DataType & value,
std::chrono::nanoseconds nsec = std::chrono::nanoseconds(-1) )
pure virtual

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

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

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

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

◆ readable()

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

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

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

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

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

◆ reset()

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

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

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

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

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

◆ rptr()

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

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

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

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

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

◆ wptr()

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

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

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

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

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

◆ writable()

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

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

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

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

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

◆ write()

template<class DataType >
virtual BufferStatus RTC::BufferBase< DataType >::write ( const DataType & value,
std::chrono::nanoseconds timeout = std::chrono::nanoseconds(-1) )
pure virtual

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

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

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

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


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