27 class SOCreatorTrait<IExtension> {
32 static constexpr
auto name =
"CreateExtension";
40 class SOCreatorTrait<IShapeInferExtension> {
45 static constexpr
auto name =
"CreateShapeInferExtension";
60 explicit Extension(
const file_name_t& name): actual(name) {}
68 actual->GetVersion(versionInfo);
77 actual->SetLogCallback(listener);
101 return actual->getPrimitiveTypes(types, size, resp);
114 return actual->getFactoryFor(factory, cnnLayer, resp);
118 return actual->getShapeInferImpl(impl, type, resp);
125 InferenceEngine::details::SOPointer<IExtension>
actual;
146 actual->GetVersion(versionInfo);
155 actual->SetLogCallback(listener);
179 return actual->getShapeInferTypes(types, size, resp);
190 return actual->getShapeInferImpl(impl, type, resp);
197 InferenceEngine::details::SOPointer<IShapeInferExtension>
actual;
207 inline std::shared_ptr<IShapeInferExtension>
make_so_pointer(
const file_name_t& name) {
208 return std::make_shared<ShapeInferExtension>(name);
219 return std::make_shared<Extension>(name);
ShapeInferExtension(const file_name_t &name)
Loads extension from a shared library.
Definition: ie_extension.h:138
void Release() noexcept override
Does nothing since destruction is done via the regular mechanism.
Definition: ie_extension.h:90
InferenceEngine::details::SOPointer< IShapeInferExtension > actual
A SOPointer instance to the loaded templated object.
Definition: ie_extension.h:197
Inference Engine API.
Definition: ie_argmax_layer.hpp:15
Represents version information that describes plugins and the inference engine runtime library...
Definition: ie_version.hpp:21
StatusCode getFactoryFor(ILayerImplFactory *&factory, const CNNLayer *cnnLayer, ResponseDesc *resp) noexcept override
Gets the factory with implementations for a given layer.
Definition: ie_extension.h:112
StatusCode getShapeInferImpl(IShapeInferImpl::Ptr &impl, const char *type, ResponseDesc *resp) noexcept override
Gets shape propagation implementation for the given string-type of cnn Layer.
Definition: ie_extension.h:189
InferenceEngine::details::SOPointer< IExtension > actual
A SOPointer instance to the loaded templated object.
Definition: ie_extension.h:125
This class provides interface for extension factories.
Definition: ie_iextension.h:132
Extension(const file_name_t &name)
Loads extension from a shared library.
Definition: ie_extension.h:60
void Unload() noexcept override
Cleans the resources up.
Definition: ie_extension.h:83
void Release() noexcept override
Does nothing since destruction is done via the regular mechanism.
Definition: ie_extension.h:168
Represents detailed information for an error.
Definition: ie_common.h:239
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:216
void Unload() noexcept override
Cleans the resources up.
Definition: ie_extension.h:161
This is a header file for Inference Engine Extension Interface.
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
Gets the extension version information.
Definition: ie_extension.h:145
void SetLogCallback(InferenceEngine::IErrorListener &listener) noexcept override
Sets a log callback that is used to track what is going on inside.
Definition: ie_extension.h:76
StatusCode getShapeInferImpl(IShapeInferImpl::Ptr &impl, const char *type, ResponseDesc *resp) noexcept override
Gets shape propagation implementation for the given string-type of cnn Layer.
Definition: ie_extension.h:117
This is a base abstraction Layer - all DNN Layers inherit from this class.
Definition: ie_layers.h:42
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
Gets the extension version information.
Definition: ie_extension.h:67
This class is a C++ helper to work with objects created using extensions.
Definition: ie_extension.h:131
StatusCode getPrimitiveTypes(char **&types, unsigned int &size, ResponseDesc *resp) noexcept override
Gets the array with types of layers which are included in the extension.
Definition: ie_extension.h:100
This class represents a custom error listener.
Definition: ie_error.hpp:18
This is a wrapper class for handling plugin instantiation and releasing resources.
This class is the reader extension interface to provide implementation for shape propagation.
Definition: ie_iextension.h:177
This class is the main extension interface.
Definition: ie_iextension.h:223
void SetLogCallback(InferenceEngine::IErrorListener &listener) noexcept override
Sets a log callback that is used to track what is going on inside.
Definition: ie_extension.h:154
std::shared_ptr< T > make_so_pointer(const file_name_t &name)=delete
Creates a special shared_pointer wrapper for the given type from a specific shared module...
Definition: ie_extension.h:207
StatusCode getShapeInferTypes(char **&types, unsigned int &size, ResponseDesc *resp) noexcept override
Gets the array with types of layers which are included in the extension.
Definition: ie_extension.h:178
This class is a C++ helper to work with objects created using extensions.
Definition: ie_extension.h:53