11class Car :
public GBase<Car> {
19 virtual void go() = 0;
21 void set_loggers([[ maybe_unused ]]
const std::shared_ptr<GOptions>& g) {}
46 if (!h)
return nullptr;
47 using fptr =
Car* (*)(std::shared_ptr<GOptions>);
50 auto sym = dlsym(h,
"CarFactory");
51 if (!sym)
return nullptr;
53 auto func =
reinterpret_cast<fptr
>(sym);
static Car * instantiate(const dlhandle h, std::shared_ptr< GOptions > g)
void set_loggers(const std::shared_ptr< GOptions > &g)
Car(const std::shared_ptr< GOptions > &g)
constexpr const char * PLUGIN_LOGGER