#include <RingBuffer.h>
Public メソッド | |
RingBuffer (long int length) | |
コンストラクタ | |
virtual | ~RingBuffer () |
仮想デストラクタ | |
void | init (DataType &data) |
初期化 | |
virtual long int | length () const |
バッファ長を取得する | |
virtual bool | write (const DataType &value) |
バッファに書き込む | |
virtual bool | read (DataType &value) |
バッファから読み出す | |
virtual bool | isFull () const |
バッファが満杯であるか確認する | |
virtual bool | isEmpty () const |
バッファが空であるか確認する | |
bool | isNew () const |
最新データか確認する | |
Protected メソッド | |
virtual void | put (const DataType &data) |
バッファにデータを格納する | |
virtual const DataType & | get () |
バッファからデータを取得する | |
virtual DataType & | getRef () |
次に書き込むバッファへの参照を取得する | |
構成 | |
class | Data |
バッファ配列 |
指定した長さのリング状バッファを持つバッファ実装クラス。 バッファ全体にデータが格納された場合、以降のデータは古いデータから 順次上書きされる。 従って、バッファ内には直近のバッファ長分のデータのみ保持される。
注)現在の実装では、一番最後に格納したデータのみバッファから読み出し可能
DataType | バッファに格納するデータ型 |
RTC::RingBuffer< DataType >::RingBuffer | ( | long int | length | ) | [inline] |
コンストラクタ
コンストラクタ 指定されたバッファ長でバッファを初期化する。 ただし、指定された長さが2未満の場合、長さ2でバッファを初期化する。
length | バッファ長 |
virtual RTC::RingBuffer< DataType >::~RingBuffer | ( | ) | [inline, virtual] |
仮想デストラクタ
仮想デストラクタ。
void RTC::RingBuffer< DataType >::init | ( | DataType & | data | ) | [inline] |
初期化
バッファの初期化を実行する。 指定された値をバッファ全体に格納する。
data | 初期化用データ |
virtual long int RTC::RingBuffer< DataType >::length | ( | ) | const [inline, virtual] |
virtual bool RTC::RingBuffer< DataType >::write | ( | const DataType & | value | ) | [inline, virtual] |
バッファに書き込む
引数で与えられたデータをバッファに書き込む。
value | 書き込み対象データ |
RTC::BufferBase< DataType >を実装しています。
virtual bool RTC::RingBuffer< DataType >::read | ( | DataType & | value | ) | [inline, virtual] |
バッファから読み出す
バッファに格納されたデータを読み出す。
value | 読み出したデータ |
RTC::BufferBase< DataType >を実装しています。
virtual bool RTC::RingBuffer< DataType >::isFull | ( | ) | const [inline, virtual] |
virtual bool RTC::RingBuffer< DataType >::isEmpty | ( | ) | const [inline, virtual] |
バッファが空であるか確認する
バッファ空を確認する。
注)現在の実装では,現在のバッファ位置に格納されたデータが読み出されたか どうかを返す。( true:データ読み出し済,false:データ未読み出し)
RTC::BufferBase< DataType >を実装しています。
bool RTC::RingBuffer< DataType >::isNew | ( | ) | const [inline] |
最新データか確認する
現在のバッファ位置に格納されているデータが最新データか確認する。
virtual void RTC::RingBuffer< DataType >::put | ( | const DataType & | data | ) | [inline, protected, virtual] |
バッファにデータを格納する
引数で与えられたデータをバッファに格納する。
注)現在の実装ではデータを格納すると同時に、データの読み出し位置を 格納したデータ位置に設定している。このため、常に直近に格納したデータを 取得する形となっている。
data | 格納対象データ |
RTC::BufferBase< DataType >を実装しています。
virtual const DataType& RTC::RingBuffer< DataType >::get | ( | ) | [inline, protected, virtual] |
virtual DataType& RTC::RingBuffer< DataType >::getRef | ( | ) | [inline, protected, virtual] |