クラス RingBuffer

リングバッファ実装クラス [詳細]


Public メソッド

def __init__
 コンストラクタ
def init
 初期化
def clear
 クリア
def length
 バッファ長を取得する
def write
 バッファに書き込む
def read
 バッファから読み出す
def isFull
 バッファが満杯であるか確認する
def isEmpty
 バッファが空であるか確認する
def isNew
 最新データか確認する
def put
 バッファにデータを格納する
def get
 バッファからデータを取得する
def getRef
 次に書き込むバッファへの参照を取得する

データ構造

class  Data
 バッファデータクラス [詳細]


説明

リングバッファ実装クラス

指定した長さのリング状バッファを持つバッファ実装クラス。 バッファ全体にデータが格納された場合、以降のデータは古いデータから 順次上書きされる。 従って、バッファ内には直近のバッファ長分のデータのみ保持される。

注)現在の実装では、一番最後に格納したデータのみバッファから読み出し可能

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

RingBuffer.py40 行で定義されています。


関数

def __init__ (   self,
  length 
)

コンストラクタ

コンストラクタ 指定されたバッファ長でバッファを初期化する。 ただし、指定された長さが2未満の場合、長さ2でバッファを初期化する。

引数:
self 
length バッファ長

RingBuffer.py61 行で定義されています。

def init (   self,
  data 
)

初期化

バッファの初期化を実行する。 指定された値をバッファ全体に格納する。

引数:
self 
data 初期化用データ

RingBuffer.py88 行で定義されています。

def clear (   self  ) 

クリア

バッファに格納された情報をクリアする。

引数:
self 

RingBuffer.py105 行で定義されています。

def length (   self  ) 

バッファ長を取得する

バッファ長を取得する。

引数:
self 
戻り値:
バッファ長

RingBuffer.py125 行で定義されています。

def write (   self,
  value 
)

バッファに書き込む

引数で与えられたデータをバッファに書き込む。

引数:
self 
value 書き込み対象データ
戻り値:
データ書き込み結果(常にtrue:書き込み成功を返す)

RingBuffer.py146 行で定義されています。

def read (   self,
  value 
)

バッファから読み出す

バッファに格納されたデータを読み出す。

引数:
self 
value 読み出したデータ
戻り値:
データ読み出し結果

RingBuffer.py168 行で定義されています。

def isFull (   self  ) 

バッファが満杯であるか確認する

バッファ満杯を確認する。(常にfalseを返す。)

引数:
self 
戻り値:
満杯確認結果(常にfalse)

RingBuffer.py191 行で定義されています。

def isEmpty (   self  ) 

バッファが空であるか確認する

バッファ空を確認する。

注)現在の実装では,現在のバッファ位置に格納されたデータが読み出されたか どうかを返す。( true:データ読み出し済,false:データ未読み出し)

引数:
self 
戻り値:
空確認結果

RingBuffer.py214 行で定義されています。

def isNew (   self  ) 

最新データか確認する

現在のバッファ位置に格納されているデータが最新データか確認する。

引数:
self 
戻り値:
最新データ確認結果 ( true:最新データ.データはまだ読み出されていない false:過去のデータ.データは既に読み出されている)

RingBuffer.py234 行で定義されています。

def put (   self,
  data 
)

バッファにデータを格納する

引数で与えられたデータをバッファに格納する。

注)現在の実装ではデータを格納すると同時に、データの読み出し位置を 格納したデータ位置に設定している。このため、常に直近に格納したデータを 取得する形となっている。

引数:
self 
data 格納対象データ

RingBuffer.py257 行で定義されています。

def get (   self  ) 

バッファからデータを取得する

バッファに格納されたデータを取得する。

引数:
self 
戻り値:
取得データ

RingBuffer.py281 行で定義されています。

def getRef (   self  ) 

次に書き込むバッファへの参照を取得する

書き込みバッファへの参照を取得する。

戻り値:
次の書き込み対象バッファへの参照
引数:
self 

RingBuffer.py301 行で定義されています。


OpenRTMに対してMon Mar 17 15:11:08 2008に生成されました。  doxygen 1.5.4