|
plugin
2.1.3
Runtime plugin loader and Ed25519 DSO signing for C++ applications
|
Registers a plugin with both default and config-based construction. More...
#include <PluginRegister.hh>
Public Member Functions | |
| PluginRegistererWithConfig (typename PluginCatalog< Base >::key_type const &name, bool copy=false) | |
| PluginRegistererWithConfig (PluginRegistererWithConfig &&)=delete | |
| ~PluginRegistererWithConfig () | |
| PluginRegistererWithConfig & | operator= (PluginRegistererWithConfig &&)=delete |
Static Public Member Functions | |
| static Base * | CreateDefault () |
| static Base * | CreateFromConfig (std::any const &cfg) |
Protected Member Functions | |
| PluginRegistererWithConfig ()=default | |
| PluginRegistererWithConfig (PluginRegistererWithConfig const &r) | |
| PluginRegistererWithConfig & | operator= (PluginRegistererWithConfig const &r) |
Protected Attributes | |
| PluginCatalog< Base >::key_type | key |
Registers a plugin with both default and config-based construction.
The Config type is the concrete struct that the plugin's constructor accepts. At creation time, std::any_cast is used to extract the Config — a type mismatch throws std::bad_any_cast at runtime.
| T | Concrete plugin class |
| Base | Base class of the plugin hierarchy |
| Config | Configuration struct accepted by T's constructor |
|
inline |
|
delete |
|
inline |
|
protecteddefault |
|
inlineprotected |
|
delete |
|
inlinestatic |
|
inlinestatic |
|
inlineprotected |
|
protected |