Open3D (C++ API)  0.18.0+5c982c7
Public Member Functions | Protected Attributes
open3d::core::Blob Class Reference

#include <Blob.h>

Public Member Functions

 Blob (int64_t byte_size, const Device &device)
 Blob (const Device &device, void *data_ptr, const std::function< void(void *)> &deleter)
 ~Blob ()
Device GetDevice () const
void * GetDataPtr ()
const void * GetDataPtr () const

Protected Attributes

std::function< void(void *)> deleter_ = nullptr
 For externally managed memory, deleter != nullptr. More...
void * data_ptr_ = nullptr
 Device data pointer. More...
Device device_
 Device context for the blob. More...

Detailed Description

Blob class refers to a blob of memory in device or host.

Usually a Blob is constructed by specifying the blob size and device, memory allocation happens during the Blob's construction.

A Blob's buffer can also be managed by an external memory manager. In this case, a deleter function is needed to notify the external memory manager that the memory is no longer needed. It does not make sense to infer the total buffer size. For example, if a Tensor has a negative stride size, it is necessary to access memory addresses smaller than Blob's beginning memory address. The only responsibility for Blob is to hold the beginning memory address and it's up to the user to access any addresses around it.

In summary:

Constructor & Destructor Documentation

◆ Blob() [1/2]

open3d::core::Blob::Blob ( int64_t  byte_size,
const Device device 

Construct Blob on a specified device.

byte_sizeSize of the blob in bytes.
deviceDevice where the blob resides.

◆ Blob() [2/2]

open3d::core::Blob::Blob ( const Device device,
void *  data_ptr,
const std::function< void(void *)> &  deleter 

Construct Blob with externally managed memory.

deviceDevice where the blob resides.
data_ptrPointer the blob's beginning.
deleterThe deleter function is called at Blob's destruction to notify the external memory manager that the memory is no longer needed. It's up to the external manager to free the memory.

◆ ~Blob()

open3d::core::Blob::~Blob ( )

Member Function Documentation

◆ GetDataPtr() [1/2]

void* open3d::core::Blob::GetDataPtr ( )

◆ GetDataPtr() [2/2]

const void* open3d::core::Blob::GetDataPtr ( ) const

◆ GetDevice()

Device open3d::core::Blob::GetDevice ( ) const

Field Documentation

◆ data_ptr_

void* open3d::core::Blob::data_ptr_ = nullptr

Device data pointer.

◆ deleter_

std::function<void(void*)> open3d::core::Blob::deleter_ = nullptr

For externally managed memory, deleter != nullptr.

◆ device_

Device open3d::core::Blob::device_

Device context for the blob.

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