Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can
cjdb on Apr 11 2020, 10:23 PM.Authored by
I left mostly some nits with respect to readability. Great job
This looks pretty good to me except the duplication of implementations when intrinsics are available.
More generally, have we looked into the MSVC tests for concepts? Would it make sense to import them here too or at least make sure we have the same coverage?
From what I've seen, MSVC seems to have one monolithic file for all the concepts, so I think there are two options for us to choose from if we want to include them:
The advantage of approach (1) is that it's fast, and MSVC STL contributors can painlessly update our copy of the test file whenever theirs is also updated.
Which do you prefer?
I think we could do (1). In the meantime, let's try to make sure we have good test coverage by ourselves (as you did here).