15 #include <initializer_list>
24 class INFERENCE_ENGINE_API_CLASS(CompoundBlob) :
public Blob {
29 using Ptr = std::shared_ptr<CompoundBlob>;
34 using CPtr = std::shared_ptr<const CompoundBlob>;
65 explicit CompoundBlob(
const std::vector<Blob::Ptr>& blobs);
76 size_t byteSize() const noexcept override;
81 size_t element_size() const noexcept override;
86 void allocate() noexcept override;
92 bool deallocate() noexcept override;
102 LockedMemory<const
void> cbuffer() const noexcept override;
107 size_t size() const noexcept override;
114 virtual
Blob::
Ptr getBlob(
size_t i) const noexcept;
130 const std::shared_ptr<
IAllocator> &getAllocator() const noexcept override;
135 void *getHandle() const noexcept override;
141 class INFERENCE_ENGINE_API_CLASS(
NV12Blob) : public CompoundBlob {
146 using Ptr = std::shared_ptr<NV12Blob>;
151 using CPtr = std::shared_ptr<const NV12Blob>;
205 virtual const
Blob::
Ptr& y() const noexcept;
210 virtual
Blob::
Ptr& uv() noexcept;
215 virtual const
Blob::
Ptr& uv() const noexcept;
This class represents locked memory for read/write memory.
Definition: ie_locked_memory.hpp:107
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
std::shared_ptr< CompoundBlob > Ptr
A smart pointer to the CompoundBlob object.
Definition: ie_compound_blob.h:29
A header file for Blob and generic TBlob<>
std::shared_ptr< const Blob > CPtr
A smart pointer to the const Blob object.
Definition: ie_blob.h:45
std::shared_ptr< Blob > Ptr
A smart pointer containing Blob object.
Definition: ie_blob.h:40
This class represents a universal container in the Inference Engine.
Definition: ie_blob.h:35
Represents a blob that contains two planes (Y and UV) in NV12 color format.
Definition: ie_compound_blob.h:141
This class represents a blob that contains other blobs.
Definition: ie_compound_blob.h:24
Allocator concept to be used for memory management and is used as part of the Blob.
Definition: ie_allocator.hpp:27