1 #ifndef CPPAD_CG_LINUX_DYNAMICLIB_MODEL_INCLUDED
2 #define CPPAD_CG_LINUX_DYNAMICLIB_MODEL_INCLUDED
18 #if CPPAD_CG_SYSTEM_LINUX
33 class LinuxDynamicLibModel :
public FunctorGenericModel<Base> {
36 LinuxDynamicLib<Base>* _dynLib;
40 virtual ~LinuxDynamicLibModel() {
41 if (_dynLib !=
nullptr) {
42 _dynLib->destroyed(
this);
53 LinuxDynamicLibModel(LinuxDynamicLib<Base>* dynLib,
const std::string& name) :
54 FunctorGenericModel<Base>(name),
57 CPPADCG_ASSERT_UNKNOWN(_dynLib !=
nullptr);
62 LinuxDynamicLibModel(
const LinuxDynamicLibModel&) =
delete;
63 LinuxDynamicLibModel& operator=(
const LinuxDynamicLibModel&) =
delete;
65 void* loadFunction(
const std::string& functionName,
bool required =
true)
override {
66 return _dynLib->loadFunction(functionName, required);
69 void modelLibraryClosed()
override {
71 FunctorGenericModel<Base>::modelLibraryClosed();
74 friend class LinuxDynamicLib<Base>;