Currently all the available types are pre-created statically when a context is created.
Move to a fully dynamic solution where types are added at run-time by specifying QArg and LArg constructors together with the type to add as done in QPy.
Steps to implement:
- Move QArgConstructor and LArgConstructor to separate include files
- Move QArgWrapper and LArgWrapper into a separate include file
- Change name of LuaArguments.h to LuaDefaultArguments.h - these are the types registered
by default
- Make
GenerateQArgWrappers and GenerateLArgWrappers private members of LuaContext
- Create a map between type names and *ArgConstructors to make it possible to check if a type conversion is supported and to retrieve the proper constructor given a type name
Note that (4) is required to access the type->constructor map declared as a private member of LuaContext
Currently all the available types are pre-created statically when a context is created.
Move to a fully dynamic solution where types are added at run-time by specifying QArg and LArg constructors together with the type to add as done in QPy.
Steps to implement:
by default
GenerateQArgWrappersandGenerateLArgWrappersprivate members ofLuaContextNote that (4) is required to access the type->constructor map declared as a private member of
LuaContext