17 #include <blob_factory.hpp>
27 class IExecutableNetworkInternal;
46 std::map<std::string, std::shared_ptr<const T>>
constMapCast(
const std::map<std::string, std::shared_ptr<T>>& map) {
47 std::map<std::string, std::shared_ptr<const T>> res;
48 for (
auto&& v : map) res.emplace(v.first, std::const_pointer_cast<const T>(v.second));
59 std::map<std::string, std::shared_ptr<T>>
constMapCast(
const std::map<std::string, std::shared_ptr<const T>>& map) {
60 std::map<std::string, std::shared_ptr<T>> res;
61 for (
auto&& v : map) res.emplace(v.first, std::const_pointer_cast<T>(v.second));
86 class INFERENCE_ENGINE_API_CLASS(IInferencePlugin) :
public std::enable_shared_from_this<IInferencePlugin> {
87 class VersionStore :
public Version {
89 std::string _buildNumber;
91 void copyFrom(
const Version& v);
94 VersionStore() =
default;
96 explicit VersionStore(
const Version& v);
98 VersionStore& operator=(
const VersionStore& v);
105 using Ptr = std::shared_ptr<IInferencePlugin>;
129 virtual
void SetName(const
std::
string& name) noexcept;
139 const
std::map<
std::
string,
std::
string>& config);
150 const
std::map<
std::
string,
std::
string>& config,
160 const
std::map<
std::
string,
std::
string>& config);
172 virtual
void SetConfig(const
std::map<
std::
string,
std::
string>& config);
212 const
std::map<
std::
string,
std::
string>& config);
222 const
std::map<
std::
string,
std::
string>& config);
235 const
std::map<
std::
string,
std::
string>& config);
247 virtual
ICore* GetCore() const noexcept;
271 const
std::map<
std::
string,
std::
string>& config);
286 const
std::map<
std::
string,
std::
string>& config);
308 static constexpr
auto name =
"CreatePluginEngine";
319 #define IE_DEFINE_PLUGIN_CREATE_FUNCTION(PluginType, version, ...) \
320 INFERENCE_PLUGIN_API(void) CreatePluginEngine(::std::shared_ptr<::InferenceEngine::IInferencePlugin>& plugin) { \
322 plugin = ::std::make_shared<PluginType>(__VA_ARGS__); \
323 } catch (const InferenceEngine::Exception&) { \
325 } catch (const std::exception& ex) { \
326 IE_THROW() << ex.what(); \
328 IE_THROW(Unexpected); \
330 plugin->SetVersion(version); \
Minimal ICore interface to allow plugin to get information from Core Inference Engine class.
Definition: ie_icore.hpp:29
An internal API of executable network to be implemented by plugin,.
Definition: ie_iexecutable_network_internal.hpp:30
An API of plugin to be implemented by a plugin.
Definition: ie_iplugin_internal.hpp:86
void SetVersion(const Version &version)
Sets a plugin version.
virtual std::string GetName() const noexcept
Provides a name of a plugin.
const Version & GetVersion() const
Gets a plugin version.
std::shared_ptr< IInferencePlugin > Ptr
A shared pointer to IInferencePlugin interface.
Definition: ie_iplugin_internal.hpp:105
Inference Engine Plugin API namespace.
PreProcessInfo copyPreProcess(const PreProcessInfo &from)
Copies preprocess info.
std::map< std::string, InputInfo::Ptr > InputsDataMap
std::map< std::string, CDataPtr > ConstOutputsDataMap
std::map< std::string, InputInfo::CPtr > ConstInputsDataMap
std::map< std::string, std::shared_ptr< const T > > constMapCast(const std::map< std::string, std::shared_ptr< T >> &map)
Copies the values of std::string indexed map and apply const cast.
Definition: ie_iplugin_internal.hpp:46
std::map< std::string, Parameter > ParamMap
std::map< std::string, DataPtr > OutputsDataMap
InputsDataMap copyInfo(const InputsDataMap &networkInputs)
Copies InputInfo.
Serializes a std::vector to a std::ostream
Definition: debug.h:35