//============================================================================================================================= // // EasyAR Sense 4.2.0.8700-7bcbc8b1c // Copyright (c) 2015-2021 VisionStar Information Technology (Shanghai) Co., Ltd. All Rights Reserved. // EasyAR is the registered trademark or trademark of VisionStar Information Technology (Shanghai) Co., Ltd in China // and other countries for the augmented reality technology developed by VisionStar Information Technology (Shanghai) Co., Ltd. // //============================================================================================================================= #import "easyar/types.oc.h" /// /// BufferPool is a memory pool to reduce memory allocation time consumption for functionality like custom camera interoperability, which needs to allocate memory buffers of a fixed size repeatedly. /// @interface easyar_BufferPool : easyar_RefBase + (instancetype)new NS_UNAVAILABLE; - (instancetype)init NS_UNAVAILABLE; /// /// block_size is the byte size of each `Buffer`_ . /// capacity is the maximum count of `Buffer`_ . /// + (easyar_BufferPool *) create:(int)block_size capacity:(int)capacity; /// /// The byte size of each `Buffer`_ . /// - (int)block_size; /// /// The maximum count of `Buffer`_ . /// - (int)capacity; /// /// Current acquired count of `Buffer`_ . /// - (int)size; /// /// Tries to acquire a memory block. If current acquired count of `Buffer`_ does not reach maximum, a new `Buffer`_ is fetched or allocated, or else null is returned. /// - (easyar_Buffer *)tryAcquire; @end