|
OpenVDB
9.0.1
|
#include <nanovdb/util/HostBuffer.h>
Public Types | |
| using | HashTableT = std::unordered_set< HostBuffer * > |
Public Member Functions | |
| Pool (uint64_t size=0, void *data=nullptr) | |
| External memory ctor. More... | |
| ~Pool () | |
| Custom destructor. More... | |
| Pool (const Pool &)=delete | |
| Disallow copy-construction. More... | |
| Pool (const Pool &&)=delete | |
| Disallow move-construction. More... | |
| Pool & | operator= (const Pool &)=delete |
| Disallow copy assignment operation. More... | |
| Pool & | operator= (const Pool &&)=delete |
| Disallow move assignment operation. More... | |
| uint64_t | usage () const |
| Return the total number of bytes used from this Pool by buffers. More... | |
| void | add (HostBuffer *buffer, uint64_t size) |
| Allocate a buffer of the specified size and add it to the register. More... | |
| void | remove (HostBuffer *buffer) |
| Remove the specified buffer from the register. More... | |
| void | replace (HostBuffer *buffer1, HostBuffer *buffer2) |
| Replaces buffer1 with buffer2 in the register. More... | |
| void | reset () |
| Reset the register and all its buffers. More... | |
| void | resize (uint64_t size, void *data=nullptr) |
| Resize this Pool and update registered buffers as needed. If data is no NULL it is used as externally managed memory. More... | |
| bool | isFull () const |
| Return true is all the memory in this pool is in use. More... | |
Public Attributes | |
| std::mutex | mMutex |
| HashTableT | mRegister |
| uint8_t * | mData |
| uint8_t * | mFree |
| uint64_t | mSize |
| bool | mManaged |
| using HashTableT = std::unordered_set<HostBuffer*> |
|
inline |
External memory ctor.
|
inline |
Custom destructor.
|
inline |
Allocate a buffer of the specified size and add it to the register.
|
inline |
Return true is all the memory in this pool is in use.
|
inline |
Remove the specified buffer from the register.
|
inline |
Replaces buffer1 with buffer2 in the register.
|
inline |
Reset the register and all its buffers.
|
inline |
Resize this Pool and update registered buffers as needed. If data is no NULL it is used as externally managed memory.
|
inline |
Return the total number of bytes used from this Pool by buffers.
| uint8_t* mData |
| uint8_t* mFree |
| bool mManaged |
| std::mutex mMutex |
| HashTableT mRegister |
| uint64_t mSize |
1.8.11