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

optional fixes vis-a-vis later C++ standard versions #415

Closed
eyalroz opened this issue Oct 6, 2022 · 0 comments
Closed

optional fixes vis-a-vis later C++ standard versions #415

eyalroz opened this issue Oct 6, 2022 · 0 comments

Comments

@eyalroz
Copy link
Owner

eyalroz commented Oct 6, 2022

At the moment, we use an "internal" definition of optional in the launch_config_builder class. Instead, we should use the definition in types.hpp which falls back to the standard library's in later versions of C++.

When we do this, we expose some discrepancies of our own implementation and the standard's, e.g. a different name of the method which clears the optional. The standard uses reset(), we use other names. So the internally-defined class should be tweaked a little.

@eyalroz eyalroz added the bug label Oct 6, 2022
@eyalroz eyalroz self-assigned this Oct 6, 2022
eyalroz added a commit that referenced this issue Oct 6, 2022
* Aligned `poor_mans_optional<T>` reset/clear method with the standard library `optional<T>`'s method
* A few other tweaks in `poor_mans_optional<T>`
* Now using `cuda::optional<T>` in the launch config builder class, rather than forcing the use of `poor_mans_optional<T>`

This should address issues with compiling with newer revisions of the C++ language standard.
@eyalroz eyalroz changed the title In launch_config_builder.hpp, using the optional template from types.hpp optional fixes vis-a-vis later C++ standard versions Oct 6, 2022
eyalroz added a commit that referenced this issue Oct 6, 2022
* Aligned `poor_mans_optional<T>` reset/clear method with the standard library `optional<T>`'s method
* A few other tweaks in `poor_mans_optional<T>`
* Now using `cuda::optional<T>` in the launch config builder class, rather than forcing the use of `poor_mans_optional<T>`

This should address issues with compiling with newer revisions of the C++ language standard.
eyalroz added a commit that referenced this issue Oct 7, 2022
* Aligned `poor_mans_optional<T>` reset/clear method with the standard library `optional<T>`'s method
* A few other tweaks in `poor_mans_optional<T>`
* Now using `cuda::optional<T>` in the launch config builder class, rather than forcing the use of `poor_mans_optional<T>`

This should address issues with compiling with newer revisions of the C++ language standard.
eyalroz added a commit that referenced this issue Oct 7, 2022
* Aligned `poor_mans_optional<T>` reset/clear method with the standard library `optional<T>`'s method
* A few other tweaks in `poor_mans_optional<T>`
* Now using `cuda::optional<T>` in the launch config builder class, rather than forcing the use of `poor_mans_optional<T>`

This should address issues with compiling with newer revisions of the C++ language standard.
eyalroz added a commit that referenced this issue Oct 7, 2022
* Aligned `poor_mans_optional<T>` reset/clear method with the standard library `optional<T>`'s method
* A few other tweaks in `poor_mans_optional<T>`
* Now using `cuda::optional<T>` in the launch config builder class, rather than forcing the use of `poor_mans_optional<T>`

This should address issues with compiling with newer revisions of the C++ language standard.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant