Merged Functor into Function class. Value no longer requires the object being held to have the insertion(<<) operator defined.
Added documentation to Stack. Removed check for vtable's validity in Value.
Added some notes and documentation. Hopefully will start working on this some more.
Major refactor of ScriptVm and Stack design. It is less templated, more dynamic, and easier to reason about now.
Finished port of Script binding system to be more dynamic.
Added working Member Function registration for Lua Vm. Need to get tests to pass though.
Added hierarchical, dynamic Enum data structure. This could be used for Module namespacing and Component identification..
Polished up Enum implementation and documentation. Entries are now stored in a vector. Added Enum::Type::Flag support. Changed Ids to Int64. Got all tests to pass.
Removed code relating to Member Function binding and calling from ScriptVm and Function classes.
Split Class and Function implementation from its interface. Did some rebranding on header guards.
Added failed attempt to change Function calling. The helper functions weren't able to extract ParameterPack to pass the args to _processParam().
Fixed undefined code in Function wrapper. Needed to "zip" up the indexes with the arguments to do the function call. Just need to clean up the implementation.
Cleaned up Function fixes.
Cleaned up Value and ScriptVm some more. Made the templated registerFunction() method wrap the generic one. Removed ScriptVm.wrapMemberFunction(). Note, this causes tests to fail since I'm using Value to retrieve the returned result, which can only get numbers as Double and doesn't support conversion yet.
Added reimplementation of Value class named Variant. It will later be named Value after completetion. Added initial FlatEnum class. Need to implement. Current program fails to compile currently due to Value.
More complete and better organized conversions. Now supports custom conversion functions. Time to replace Value!
Replaced Value implementation. Added all default constructors. Fixed Stack::getValue() bugs. Need to fix getting/setting Pointer values in Value. Maybe store them all in one single Pointer ValueInfo structure?
Added files missed from last commit. Fixed Value Pointer storage by storing all Pointer types in the ValueContainer<void*> structure. Need to implement full object passing from C++ to Lua. I will use a Userdata structure to encapsulate this. There are two possible implementations, one, the Userdata is dynamically allocated and passed to Lua and encapsulates just full userdata, two, the Userdata is stored in Value, and encapsulates all userdata including pointers. In the second implementation, the object needs to be stored within the Value structure.
Fixed Stack::getValue() function which fixes wrap.test 4 + 5. Need to work on Class registration.
Restructured Class and fixed memory leaks.