OpenCV 4.5.3(日本語機械翻訳)
|
Automatically Allocated Buffer Class [詳解]
#include <utility.hpp>
公開型 |
|
typedef _Tp | value_type |
公開メンバ関数 |
|
AutoBuffer () | |
デフォルトコンストラクタ |
|
AutoBuffer (size_t _size) | |
本当のバッファサイズを受け取るコンストラクタ |
|
AutoBuffer (const AutoBuffer< _Tp, fixed_size > &buf) | |
コピーコンストラクタ |
|
AutoBuffer< _Tp, fixed_size > & | operator= (const AutoBuffer< _Tp, fixed_size > &buf) |
代入演算子 |
|
~AutoBuffer () | |
デストラクタ。deallocate()
|
|
void | allocate (size_t _size) |
サイズ _size の新しいバッファを確保します。_size が十分小さい場合は、スタックに割り当てられたバッファが使用されます。 |
|
void | deallocate () |
バッファが動的に割り当てられた場合は,そのバッファを解放します. |
|
void | resize (size_t _size) |
バッファのサイズを変更し,コンテンツを保存します。 |
|
size_t | size () const |
現在のバッファサイズを返します。 |
|
_Tp * | data () |
スタックに割り当てられた,あるいはヒープに割り当てられた実際のバッファへのポインタを返します。 |
|
const _Tp * | data () const |
スタック割り当てまたはヒープ割り当てされた実際のバッファへの読み取り専用のポインタを返します。 |
|
operator _Tp * () | |
スタックに割り当てられた,あるいはヒープに割り当てられた実際のバッファへのポインタを返します。 |
|
operator const _Tp * () const | |
スタック割り当てまたはヒープ割り当てされた実際のバッファへの読み取り専用のポインタを返します。 |
|
限定公開変数類 |
|
_Tp * | ptr |
実際のバッファへのポインタ。バッファが十分に小さい場合は buf を指すこともあります。 |
|
size_t | sz |
リアルバッファのサイズ |
|
_Tp | buf [(fixed_size > 0) ? fixed_size :1] |
事前に割り当てられたバッファ。C++標準の要件を確認するために、少なくとも1つの要素 |
|
自動的に割り当てられるバッファクラス
このクラスは,関数やメソッド内の一時的なバッファに利用されます.一時的なバッファは通常小さく(数Kのメモリ),そのサイズがパラメータに依存する場合,スタック上に小さな固定サイズの配列を作成し,十分な大きさがあればそれを利用することは理にかなっています.必要なバッファサイズが固定サイズよりも大きい場合は、十分なサイズの別のバッファが動的に割り当てられ、処理後に解放されます。したがって,バッファサイズが小さい典型的なケースでは,malloc()/free()に伴うオーバーヘッドはありません。同時に、処理されるデータのサイズにも制限がありません。
これはAutoBufferが行うことです.このテンプレートは,2つのパラメータを受け取ります - バッファ要素のタイプと,スタックに割り当てられた要素の数です。このクラスの使い方は以下の通りです。