collection2  v0.6.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
collection2::Buffer< Element, Size > Class Template Reference

リングバッファ More...

#include <buffer.hpp>

Public Member Functions

 Buffer (Element *const data, const Size &dataSize)
 内部データを扱う領域とそのサイズを指定してバッファを初期化 More...
 
 Buffer (const Buffer &)=delete
 
Bufferoperator= (const Buffer &)=delete
 
OperationResult append (const Element &data)
 バッファの末尾にデータを追加 More...
 
OperationResult pop (Element *const data)
 バッファの先頭からデータを取り出し More...
 
Size capacity () const
 バッファの全体長を返す More...
 
Size amount () const
 現在バッファ内にあるデータ数を返す More...
 
bool hasSpace () const
 バッファに値を追加できるか More...
 
bool isEmpty () const
 バッファが空かどうか More...
 

Detailed Description

template<typename Element, typename Size = size_t>
class collection2::Buffer< Element, Size >

リングバッファ

Template Parameters
Element
Size

Constructor & Destructor Documentation

◆ Buffer()

template<typename Element , typename Size >
collection2::Buffer< Element, Size >::Buffer ( Element *const  data,
const Size &  dataSize 
)

内部データを扱う領域とそのサイズを指定してバッファを初期化

Parameters
data内部データ保管用領域
dataSize領域サイズ
Note
領域サイズは2の冪乗であるべきです。それ以外の値を指定した場合、2の冪数のうち領域のサイズを下回らない最大のものが選択されます(15 -> 8, 34 -> 32).

Member Function Documentation

◆ append()

template<typename Element , typename Size >
OperationResult collection2::Buffer< Element, Size >::append ( const Element &  data)

バッファの末尾にデータを追加

Parameters
data追加するデータ
Returns
OperationResult 操作結果

◆ pop()

template<typename Element , typename Size >
OperationResult collection2::Buffer< Element, Size >::pop ( Element *const  data)

バッファの先頭からデータを取り出し

Parameters
data取り出したデータの格納先
Returns
OperationResult 操作結果

◆ capacity()

template<typename Element , typename Size = size_t>
Size collection2::Buffer< Element, Size >::capacity ( ) const
inline

バッファの全体長を返す

Returns
Size バッファ長

◆ amount()

template<typename Element , typename Size = size_t>
Size collection2::Buffer< Element, Size >::amount ( ) const
inline

現在バッファ内にあるデータ数を返す

Returns
Size バッファ内に存在するデータの数

◆ hasSpace()

template<typename Element , typename Size = size_t>
bool collection2::Buffer< Element, Size >::hasSpace ( ) const
inline

バッファに値を追加できるか

Returns
bool

◆ isEmpty()

template<typename Element , typename Size = size_t>
bool collection2::Buffer< Element, Size >::isEmpty ( ) const
inline

バッファが空かどうか

Returns
bool

The documentation for this class was generated from the following file: