billyquith / ponder

C++ reflection library with Lua binding, and JSON and XML serialisation.
http://billyquith.github.io/ponder/
Other
633 stars 92 forks source link

Pointer typed argument #116

Open shierei opened 5 years ago

shierei commented 5 years ago

This fix makes passing a pointer to std::string, integer or float typed argument to a metaclass function possible. This is necessary in order to be able to use a function argument to return the result from a function. I think PONDER effectively casts a pointer argument to any type to a pointer to UserObject. Because of this, the basic type needs to be registered as a PONDER_TYPE and be declared as a metaclass. For example, if you have a pointer argument to int in a metaclass function, you have to add PONDER_TYPE(int) and ponder::Class::declare<int>("int") in your code. The fix in this pull request is to make sure that after the registration and declaration, the ponder::Value for an 'int' type variable can preserve its ponder value kind as a number kind instead of a User kind. The same goes to a string or a float.

billyquith commented 3 years ago

Sorry for the delay, been busy doing other things. I'll try and investigate.

shierei commented 3 years ago

Thanks. I have been using the fix that I uploaded for review and it serves me well in the mean time.-Shie-reiOn Nov 12, 2020 6:18 AM, Bill Quith notifications@github.com wrote: Sorry for the delay, been busy doing other things. I'll try and investigate.

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.