Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
InferenceEngine::CompoundBlob Class Reference

This class represents a blob that contains other blobs. More...

#include <ie_compound_blob.h>

Inheritance diagram for InferenceEngine::CompoundBlob:
Inheritance graph
[legend]
Collaboration diagram for InferenceEngine::CompoundBlob:
Collaboration graph
[legend]

Public Types

using  Ptr = std::shared_ptr< CompoundBlob >
  A smart pointer to the CompoundBlob object.
 
using  CPtr = std::shared_ptr< const CompoundBlob >
  A smart pointer to the const CompoundBlob object.
 
- Public Types inherited from InferenceEngine::Blob
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  ~CompoundBlob ()=default
  A virtual destructor.
 
  CompoundBlob (const CompoundBlob &blob)
  A copy constructor.
 
CompoundBlob operator= (const CompoundBlob &blob)=default
  A copy assignment operator.
 
  CompoundBlob (CompoundBlob &&blob)
  A move constructor.
 
CompoundBlob operator= (CompoundBlob &&blob)=default
  A move assignment operator.
 
  CompoundBlob (const std::vector< Blob::Ptr > &blobs)
  Constructs a compound blob from a vector of blobs. More...
 
  CompoundBlob (std::vector< Blob::Ptr > &&blobs)
  Constructs a compound blob from a vector of blobs. More...
 
size_t  byteSize () const noexcept override
  Always returns 0.
 
size_t  element_size () const noexcept override
  Always returns 0.
 
void  allocate () noexcept override
  No operation is performed. Compound blob does not allocate/deallocate any data.
 
bool  deallocate () noexcept override
  No operation is performed. Compound blob does not allocate/deallocate any data. More...
 
LockedMemory< void >  buffer () noexcept override
  Always returns an empty LockedMemory object.
 
LockedMemory< const void >  cbuffer () const noexcept override
  Always returns an empty LockedMemory object.
 
size_t  size () const noexcept override
  Returns the number of underlying blobs in the compound blob.
 
virtual Blob::Ptr  getBlob (size_t i) const noexcept
  Returns an underlying blob at index i. More...
 
- Public Member Functions inherited from InferenceEngine::Blob
Precision  type () const noexcept
  Returns the tensor precision of the current Blob object. More...
 
Precision  precision () const noexcept
  Returns the tensor precision of the current Blob object. More...
 
Layout  layout () const noexcept
  Returns the tensor layout of the current Blob object. More...
 
virtual  ~Blob ()=default
  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*. Use InferenceEngine::as() to operate with shared Blob objects instead of raw pointers. 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*. Use InferenceEngine::as() to operate with shared Blob objects instead of raw pointers. More...
 
  Blob (const TensorDesc &tensorDesc)
  Constructor. Creates an empty Blob object with the specified precision. More...
 
  Blob (Precision p)
  Constructor. Creates an empty Blob object with the specified precision. More...
 
  Blob (Precision p, Layout l)
  The constructor creates an empty Blob object with the specified precision and layout. More...
 
  Blob (Precision p, const SizeVector &dims)
  The constructor creates an empty Blob object with the specified precision and dimensions. More...
 
  Blob (Precision p, Layout l, const SizeVector &dims)
  The constructor creates an empty Blob object with the specified precision, layout and dimensions. More...
 
size_t  Resize (const SizeVector &dims, Layout layout=Layout::ANY) noexcept
  Changes Tensor size to the specified dimensions. If it was allocated, the previous data is deallocated and lost. More...
 
size_t  Reshape (const SizeVector &dims, Layout layout=Layout::ANY) noexcept
  Changes tensor size to the specified dimensions without changing memory. The total size remains unchanged as well as the memory layout. More...
 
const SizeVector  dims () const noexcept
  Returns the tensor dimensions vector with reversed order. More...
 
virtual const TensorDesc getTensorDesc () const noexcept
  Returns the tensor description.
 
virtual TensorDesc getTensorDesc () noexcept
  Returns the tensor description.
 

Protected Member Functions

  CompoundBlob ()
  A default constructor.
 
const std::shared_ptr< IAllocator > &  getAllocator () const noexcept override
  Returns nullptr as CompoundBlob is not allocator-based.
 
void *  getHandle () const noexcept override
  Returns nullptr as CompoundBlob is not allocator-based.
 

Protected Attributes

std::vector< Blob::Ptr _blobs
  Compound blob container for underlying blobs.
 
- Protected Attributes inherited from InferenceEngine::Blob
TensorDesc  tensorDesc
  The tensor descriptor of the given blob.
 

Additional Inherited Members

- Static Public Member Functions inherited from InferenceEngine::Blob
static Ptr  CreateFromData (const DataPtr &data)
  Creates a TBlob<> object from a Data node. More...
 
- Static Protected Member Functions inherited from InferenceEngine::Blob
static size_t  product (const SizeVector &dims) noexcept
  Multiplies the dimension vector's values. More...
 

Detailed Description

This class represents a blob that contains other blobs.

Compound blob is a wrapper blob over references to underlying blobs. These blobs should share some properties and can be grouped into a single entity.

Constructor & Destructor Documentation

§ CompoundBlob() [1/2]

InferenceEngine::CompoundBlob::CompoundBlob ( const std::vector< Blob::Ptr > &  blobs )
explicit

Constructs a compound blob from a vector of blobs.

Parameters
blobs A vector of blobs that is copied to this object

§ CompoundBlob() [2/2]

InferenceEngine::CompoundBlob::CompoundBlob ( std::vector< Blob::Ptr > &&  blobs )
explicit

Constructs a compound blob from a vector of blobs.

Parameters
blobs A vector of blobs that is moved to this object

Member Function Documentation

§ deallocate()

bool InferenceEngine::CompoundBlob::deallocate ( )
overridevirtualnoexcept

No operation is performed. Compound blob does not allocate/deallocate any data.

Returns
false

Implements InferenceEngine::Blob.

§ getBlob()

virtual Blob::Ptr InferenceEngine::CompoundBlob::getBlob ( size_t  i ) const
virtualnoexcept

Returns an underlying blob at index i.

Parameters
i the index of the underlying Blob object
Returns
A smart pointer to the underlying Blob object or nullptr in case of an error

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