Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pointer typed argument #116

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

shierei
Copy link
Contributor

@shierei shierei commented Jan 26, 2019

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 added a commit that referenced this pull request Feb 17, 2019
- Add mapping for ValueMapper for T*
- Have to register basic types so that they can be passed as UserObject refs. Not ideal.
- Refs have ambiguity.
@billyquith
Copy link
Owner

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

@shierei
Copy link
Contributor Author

shierei commented Nov 12, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants