Template Function boost_plugin_loader::createSharedInstance

Function Documentation

template<class ClassBase>
static std::shared_ptr<ClassBase> boost_plugin_loader::createSharedInstance(const std::string &symbol_name, const std::string &library_name, const std::string &library_directory = "")

Create a shared instance for the provided symbol_name loaded from the library_name searching system folders for library.

The symbol name is the alias provide when calling EXPORT_CLASS_SECTIONED

Parameters:
  • symbol_name – The symbol to create a shared instance of

  • library_name – The library name to load which does not include the prefix ‘lib’ or suffix ‘.so’

  • library_directory – The library directory, if empty it will enable search system directories

Returns:

A shared pointer of the object with the symbol name located in library_name_