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

C++20: Replace all SFINAE with Concepts #22

Open
3 tasks
johannesugb opened this issue Oct 6, 2020 · 0 comments
Open
3 tasks

C++20: Replace all SFINAE with Concepts #22

johannesugb opened this issue Oct 6, 2020 · 0 comments
Labels
C++ C++-centric task enhancement New feature or request

Comments

@johannesugb
Copy link
Member

Concepts are a new feature introduced into C++20. Make yourself familiar with the topic. You can get an overview of it in the following video:

At many places in the framework, SFINAE are used which basically serve the same purpose, but are more complicated to use. The SFINAE classes are the following:

  • class is_dereferenceable
  • class has_resize
  • class has_size_and_iterators
  • class has_nested_value_types

Definition of done:

  • Search for all usages of the SFINAE classes mentioned above and search for all usages of std::enable_if. Replace them with Concepts => i.e. use the newly introduced C++20 requires keyword.
  • Delete all the SFINAE classes mentioned above from the codebase.
  • For each refactored function/method, make sure it is properly documented and the Contribution Guidelines have been followed.
@johannesugb johannesugb added C++ C++-centric task enhancement New feature or request labels Oct 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ C++-centric task enhancement New feature or request
Development

No branches or pull requests

1 participant