19 #ifndef GZ_PLUGIN_LOADER_HH_
20 #define GZ_PLUGIN_LOADER_HH_
26 #include <unordered_set>
28 #include <gz/utils/SuppressWarning.hh>
30 #include <gz/plugin/loader/Export.hh>
38 class GZ_PLUGIN_LOADER_VISIBLE
Loader
60 public:
template <
typename Interface>
84 const bool _demangled =
true)
const;
145 const std::string &_pathToLibrary,
bool _noDelete);
167 public:
template <
typename PluginPtrType>
168 PluginPtrType Instantiate(
const std::string &_pluginNameOrAlias)
const;
193 public:
template <
typename InterfaceType>
221 public:
bool ForgetLibrary(
const std::string &_pathToLibrary);
231 public:
bool ForgetLibraryOfPlugin(
const std::string &_pluginNameOrAlias);
291 class Implementation;
292 GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
295 GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING
300 #include <gz/plugin/detail/Loader.hh>