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

Add C++ deduction guides and static asserts #111

Open
adamfowleruk opened this issue Dec 14, 2021 · 0 comments
Open

Add C++ deduction guides and static asserts #111

adamfowleruk opened this issue Dec 14, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@adamfowleruk
Copy link
Contributor

[Who] As a C++ app developer
[What] I need to see sensible error messages when I mis-use a Herald API template class
[Value] In order to not be baffled by default C++ template error messages, and to speed the development of my app

Describe the potential solution you'd like

  • Deduction guides to minimise typing of types (so template classes can be used without angled braces)
  • static_asserts to point out when I'm mis-using a template class

Describe alternatives you've considered

Considered concepts instead of static asserts, but that's a C++20 feature, and embedded C++ layers don't yet support these well.

Additional context

See test classes using all of the sensor, analysis, exposure, and risk APIs to see how complex angled bracket parameters are getting. Also the amount of time taken debugging v2.1 due to a lack of helpful template error messages.

Relative priority

Medium, required before this version is released.

@adamfowleruk adamfowleruk added the enhancement New feature or request label Dec 14, 2021
@adamfowleruk adamfowleruk added this to the v2.1 milestone Dec 14, 2021
@adamfowleruk adamfowleruk self-assigned this Dec 14, 2021
@adamfowleruk adamfowleruk modified the milestones: v2.1, v2.2 Jan 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant