Table of Contents

Class BufferPool

名前空間
easyar

BufferPoolはメモリプールを実装し、カスタムカメラアクセスなど同じサイズのメモリを繰り返し割り当てる必要がある機能に使用でき、メモリ割り当ての時間を短縮します。

BufferPool

コンストラクター

BufferPool

block_sizeは各Bufferのバイトサイズです。 capacityは最大Buffer数です。

void easyar_BufferPool__ctor(int block_size, int capacity, easyar_BufferPool * * Return)
BufferPool(int block_size, int capacity)
public BufferPool(int block_size, int capacity)
constructor(block_size: Int, capacity: Int)
+ (easyar_BufferPool *) create:(int)block_size capacity:(int)capacity
public convenience init(_ block_size: Int32, _ capacity: Int32)
public BufferPool(int block_size, int capacity)

パラメーター

名前 説明
block_size Int32
capacity Int32

メソッド

block_size

Bufferのバイトサイズ。

int easyar_BufferPool_block_size(const easyar_BufferPool * This)
int block_size()
public int block_size()
fun block_size(): Int
- (int)block_size
public func block_size() -> Int32
public virtual int block_size()

戻り値

説明
Int32

capacity

最大Buffer数。

int easyar_BufferPool_capacity(const easyar_BufferPool * This)
int capacity()
public int capacity()
fun capacity(): Int
- (int)capacity
public func capacity() -> Int32
public virtual int capacity()

戻り値

説明
Int32

size

現在外部で取得されているBufferの数。

int easyar_BufferPool_size(const easyar_BufferPool * This)
int size()
public int size()
fun size(): Int
- (int)size
public func size() -> Int32
public virtual int size()

戻り値

説明
Int32

tryAcquire

メモリブロックの取得を試みます。現在外部で取得されているBuffer数が最大Buffer数に達していない場合、新しいBufferを取得または割り当て、そうでない場合は空を返します。

void easyar_BufferPool_tryAcquire(easyar_BufferPool * This, easyar_OptionalOfBuffer * Return)
std::optional<std::shared_ptr<Buffer>> tryAcquire()
public @Nullable Buffer tryAcquire()
fun tryAcquire(): Buffer?
- (easyar_Buffer *)tryAcquire
public func tryAcquire() -> Buffer?
public virtual Optional<Buffer> tryAcquire()

戻り値

説明
Optional<Buffer>