This class represents a universal container in the Inference Engine. More...
#include <ie_blob.h>
Public Types | |
using | Ptr = std::shared_ptr< Blob > |
A smart pointer containing Blob object. | |
using | CPtr = std::shared_ptr< const Blob > |
A smart pointer to the const Blob object. | |
Public Member Functions | |
virtual | ~Blob () |
Blob virtual destructor. | |
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
bool | is () noexcept |
Checks if the Blob object can be cast to the type T*. More... | |
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
bool | is () const noexcept |
Checks if the Blob object can be cast to the type const T*. More... | |
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
T * | as () noexcept |
Casts this Blob object to the type T*. More... | |
template<typename T , typename std::enable_if<!std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
const T * | as () const noexcept |
Casts this Blob object to the type const T*. More... | |
Blob (const TensorDesc &tensorDesc) | |
Constructor. Creates an empty Blob object with the specified precision. More... | |
virtual const TensorDesc & | getTensorDesc () const noexcept |
Returns the tensor description. More... | |
virtual TensorDesc & | getTensorDesc () noexcept |
Returns the tensor description. More... | |
virtual size_t | size () const noexcept |
By default, returns the total number of elements (a product of all the dims or 1 for scalar) More... | |
virtual size_t | byteSize () const noexcept |
Returns the size of the current Blob in bytes. More... | |
virtual size_t | element_size () const noexcept=0 |
Provides the number of bytes per element. More... | |
virtual void | allocate () noexcept=0 |
Allocates memory to store the data. More... | |
virtual bool | deallocate () noexcept=0 |
Releases previously allocated data. More... | |
virtual LockedMemory< void > | buffer () noexcept=0 |
Gets access to the allocated memory. More... | |
virtual LockedMemory< const void > | cbuffer () const noexcept=0 |
Gets read-only access to the allocated memory. More... | |
virtual Blob::Ptr | createROI (const ROI &roi) const |
Creates a blob describing given ROI object based on the current blob with memory sharing. More... | |
Static Public Member Functions | |
static Ptr | CreateFromData (const DataPtr &data) |
Creates a TBlob<> object from a Data node. More... | |
Protected Member Functions | |
virtual const std::shared_ptr< IAllocator > & | getAllocator () const noexcept=0 |
Gets an allocator for allocator-based blobs. More... | |
virtual void * | getHandle () const noexcept=0 |
Gets a handle to allocated memory. More... | |
Static Protected Member Functions | |
static size_t | product (const SizeVector &dims) noexcept |
Multiplies the dimension vector values. More... | |
Protected Attributes | |
TensorDesc | tensorDesc |
The tensor descriptor of the given blob. | |
Friends | |
template<typename > | |
class | TBlobProxy |
private | |
This class represents a universal container in the Inference Engine.
|
inlineexplicit |
Constructor. Creates an empty Blob object with the specified precision.
tensorDesc | Defines the layout and dims of the blob |
|
pure virtualnoexcept |
Allocates memory to store the data.
Abstract method.
Implemented in InferenceEngine::MemoryBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
inlinenoexcept |
Casts this Blob object to the type const T*.
Use InferenceEngine::as() to operate with shared Blob objects instead of raw pointers
T | Type to cast to. Must represent a class derived from the Blob |
|
inlinenoexcept |
Casts this Blob object to the type T*.
Use InferenceEngine::as() to operate with shared Blob objects instead of raw pointers
T | Type to cast to. Must represent a class derived from the Blob |
|
pure virtualnoexcept |
Gets access to the allocated memory.
Abstract method.
Implemented in InferenceEngine::MemoryBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
inlinevirtualnoexcept |
Returns the size of the current Blob in bytes.
Reimplemented in InferenceEngine::CompoundBlob, and InferenceEngine::MemoryBlob.
|
pure virtualnoexcept |
Gets read-only access to the allocated memory.
Abstract method.
Implemented in InferenceEngine::MemoryBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
Creates a blob describing given ROI object based on the current blob with memory sharing.
Note: default implementation throws "not implemented" exception.
roi | A ROI object inside of the current blob. |
Reimplemented in InferenceEngine::I420Blob, InferenceEngine::NV12Blob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
pure virtualnoexcept |
Releases previously allocated data.
Abstract method.
True
if deallocation happens successfully, false
otherwise. Implemented in InferenceEngine::MemoryBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
pure virtualnoexcept |
Provides the number of bytes per element.
The overall Blob capacity is size() * element_size(). Abstract method.
Implemented in InferenceEngine::MemoryBlob, InferenceEngine::RemoteBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
protectedpure virtualnoexcept |
Gets an allocator for allocator-based blobs.
Implemented in InferenceEngine::MemoryBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
protectedpure virtualnoexcept |
Gets a handle to allocated memory.
Implemented in InferenceEngine::MemoryBlob, InferenceEngine::CompoundBlob, and InferenceEngine::TBlob< T, typename >.
|
inlinevirtualnoexcept |
Returns the tensor description.
Reimplemented in InferenceEngine::MemoryBlob.
|
inlinevirtualnoexcept |
Returns the tensor description.
Reimplemented in InferenceEngine::MemoryBlob.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticprotectednoexcept |
Multiplies the dimension vector values.
dims | Reference to a vector with dimension values of type size_t |
|
inlinevirtualnoexcept |
By default, returns the total number of elements (a product of all the dims or 1 for scalar)
Return value and its interpretation heavily depend on the blob type
Reimplemented in InferenceEngine::CompoundBlob, and InferenceEngine::MemoryBlob.