Data Structures | Namespaces | Typedefs | Functions
ie_blob.h File Reference

A header file for Blob and generic TBlob<> More...

#include <memory>
#include <vector>
#include <string>
#include <numeric>
#include <cstring>
#include <utility>
#include <functional>
#include <map>
#include <type_traits>
#include "ie_common.h"
#include "details/ie_exception.hpp"
#include "details/ie_blob_iterator.hpp"
#include "ie_allocator.hpp"
#include "ie_locked_memory.hpp"
#include "ie_precision.hpp"
#include "ie_layouts.h"
#include "details/ie_pre_allocator.hpp"

Go to the source code of this file.

Data Structures

class   InferenceEngine::Blob
  This class represents a universal container in the Inference Engine. More...
 
class   InferenceEngine::MemoryBlob
  This class implements a container object that represents a tensor in memory (host and remote/accelerated) More...
 
class   InferenceEngine::TBlob< T, typename >
  Represents real host memory allocated for a Tensor/Blob per C type. More...
 
struct   InferenceEngine::ROI
  This structure describes ROI data. More...
 

Namespaces

  InferenceEngine
  Inference Engine API.
 

Typedefs

using  InferenceEngine::BlobMap = std::map< std::string, Blob::Ptr >
  This is a convenient type for working with a map containing pairs(string, pointer to a Blob instance).
 

Functions

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>
std::shared_ptr< T >  InferenceEngine::as (const Blob::Ptr &blob) noexcept
  Helper cast function to work with shared Blob objects. 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>
std::shared_ptr< const T >  InferenceEngine::as (const Blob::CPtr &blob) noexcept
  Helper cast function to work with shared Blob objects. More...
 
template<class Type >
TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (Precision p, Layout l, const SizeVector &dims)
  Creates a blob with given precision and dimensions. More...
 
template<class Type >
TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (Precision p, const SizeVector &dims)
  Creates a blob with the NCHW layout, given precision, and given dimensions. More...
 
template<typename Type , class TArg >
InferenceEngine::TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (Precision p, Layout l, const TArg &arg)
  Creates a blob with the given precision. More...
 
template<typename Type , class TArg >
InferenceEngine::TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (Precision p, const TArg &arg)
  Creates a blob with the NCHW layout and given tensor precision. More...
 
template<typename Type >
InferenceEngine::TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (const TensorDesc &tensorDesc)
  Creates a blob with the given tensor descriptor. More...
 
template<typename Type >
InferenceEngine::TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (const TensorDesc &tensorDesc, Type *ptr, size_t size=0)
  Creates a blob with the given tensor descriptor from the pointer to the pre-allocated memory. More...
 
template<typename Type >
InferenceEngine::TBlob< Type >::Ptr  InferenceEngine::make_shared_blob (const TensorDesc &tensorDesc, const std::shared_ptr< InferenceEngine::IAllocator > &alloc)
  Creates a blob with the given tensor descriptor and allocator. More...
 
template<typename TypeTo >
InferenceEngine::TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (TBlob< TypeTo > &&arg)
  Gets a shared pointer for the new TBlob instance. The created instance is based on move semantics from the given TBlob instance. More...
 
template<typename TypeTo >
InferenceEngine::TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (const TBlob< TypeTo > &arg)
  Creates a copy of given TBlob instance. More...
 
template<typename TypeTo >
InferenceEngine::TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (Precision p, Layout l=NCHW)
  Creates a blob with the given precision. More...
 
template<typename TypeTo >
TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (Precision p, Layout l, SizeVector dims, const std::vector< TypeTo > &arg)
  Creates a blob with the given precision, layout and dimensions from the vector of values. More...
 
template<typename TypeTo >
TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (Precision p, Layout l, const std::vector< TypeTo > &arg)
  Creates a blob with the given precision from the vector of values. More...
 
template<typename TypeTo >
TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (Precision p, const std::vector< TypeTo > &arg)
  Creates a blob with the NCHW layout and the given precision from the vector of values. More...
 
template<typename TypeTo >
TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (Precision p, Layout l, const SizeVector &dims, TypeTo *ptr, size_t size=0)
  Creates a blob with the given precision from the pointer to the pre-allocated memory. More...
 
template<typename TypeTo >
TBlob< TypeTo >::Ptr  InferenceEngine::make_shared_blob (Precision p, const SizeVector &dims, TypeTo *ptr, size_t size=0)
  Creates a blob with the NCHW layout and the given precision from the pointer to the pre-allocated memory. More...
 
template<typename T , typename ... Args, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0>
std::shared_ptr< T >  InferenceEngine::make_shared_blob (Args &&...args)
  Creates a Blob object of the specified type. More...
 
Blob::Ptr  InferenceEngine::make_shared_blob (const Blob::Ptr &inputBlob, const ROI &roi)
  Creates a blob describing given ROI object based on the given blob with pre-allocated memory. More...
 

Detailed Description

A header file for Blob and generic TBlob<>