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
Polyfill cetl::optional, extend the testing suite #89
Conversation
…how to proceed later
… default destructibility
Regarding the naming convention used see #85 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still reviewing but I'll flush these comments. Most important is is_nothrow_swapable
is not in C++14.
Heads up: I tweaked two Doxygen settings to eliminate unhelpful warnings about undocumented enum members (well-named entities may not require explicit docs) and to automatically distribute docs to all group members to reduce doc copypasta. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perused the code. Looks good. Should definitely be enough to fulfill our immediate use case in Libcyphal. Approving
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're still missing an example app under cetlvast/suites/docs/examples
Quality Gate passedIssues Measures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a task to create a cetlvast/suites/docs/examples/
example for optional in the future.
optional
and related entities such asmake_optional
,nullopt
,in_place
, etc.type_traits.hpp
.CETL_PROJECT_VERSION
in the build recipes.CETL_NODISCARD
attribute.#verification
to the commit message will run the verification job.This PR is feature- and testing-complete but lacks the docs, which I am going to add next. The code is ready to be reviewed meanwhile. You may notice that the coverage reporting is odd because there are a few places where templates are not marked as instantiated while they actually are, also some branches in the comparison operators appear to be mislabeled as partially-covered.
The commit history is non-informative and should not be looked at, as it will be squashed anyway.
My next step is to finish #51 (which is blocked on
cetl::optional
) and then perhaps switch to #86, because there are certain similarities betweenoptional
andvariant
that will make it easier for me to do this part now rather than later.