]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Add std::is_scoped_enum for C++23
authorJonathan Wakely <jwakely@redhat.com>
Fri, 19 Mar 2021 19:42:18 +0000 (19:42 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 19 Mar 2021 20:10:56 +0000 (20:10 +0000)
commitb8ecdc772703729b75fba8b4bb94acfcb6f7cfae
treefacc3bcfc113aa641b95ae9c9cc5ca2b5833b40d
parent83855386c41b78c92f4445e4d0e6397372136c90
libstdc++: Add std::is_scoped_enum for C++23

Implement this C++23 feature, as proposed by P1048R1.

This implementation assumes that a C++23 compiler supports concepts
already. I don't see any point in using preprocessor hacks to detect
compilers which define __cplusplus to a post-C++20 value but don't
support concepts yet.

libstdc++-v3/ChangeLog:

* include/std/type_traits (is_scoped_enum): Define.
* include/std/version (__cpp_lib_is_scoped_enum): Define.
* testsuite/20_util/is_scoped_enum/value.cc: New test.
* testsuite/20_util/is_scoped_enum/version.cc: New test.
libstdc++-v3/include/std/type_traits
libstdc++-v3/include/std/version
libstdc++-v3/testsuite/20_util/is_scoped_enum/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_scoped_enum/version.cc [new file with mode: 0644]
This page took 0.069758 seconds and 6 git commands to generate.