r272695 - in /trunk/libstdc++-v3: ChangeLog inc...
redi@gcc.gnu.org
redi@gcc.gnu.org
Wed Jun 26 14:38:00 GMT 2019
Author: redi
Date: Wed Jun 26 14:38:23 2019
New Revision: 272695
URL: https://gcc.gnu.org/viewcvs?rev=272695&root=gcc&view=rev
Log:
Add new helper traits for signed/unsigned integer types
Reuse the __is_one_of alias in additional places, and define traits to
check for signed/unsigned integer types so we don't have to duplicate
those checks elsewhere.
The additional overloads for std::byte in <bit> were reviewed by LEWG
and considered undesirable, so this patch removes them.
* include/bits/fs_path.h (path::__is_encoded_char): Use __is_one_of.
* include/std/bit (_If_is_unsigned_integer_type): Remove.
(_If_is_unsigned_integer): Use __is_unsigned_integer.
(rotl(byte, unsigned), rotr(byte, unsigned), countl_zero(byte))
(countl_one(byte), countr_zero(byte), countr_one(byte))
(popcount(byte), ispow2(byte), ceil2(byte), floor2(byte))
(log2p1(byte)): Remove.
* include/std/charconv (__detail::__is_one_of): Move to <type_traits>.
(__detail::__is_int_to_chars_type): Remove.
(__detail::__integer_to_chars_result_type): Use __is_signed_integer
and __is_unsigned_integer.
* include/std/type_traits (__is_one_of): Move here from <charconv>.
(__is_signed_integer, __is_unsigned_integer): New helpers.
* testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Remove test for
std::byte overload.
* testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
* testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
* testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
* testsuite/26_numerics/bit/bitops.count/countl_one.cc: Likewise.
* testsuite/26_numerics/bit/bitops.count/countl_zero.cc: Likewise.
* testsuite/26_numerics/bit/bitops.count/countr_one.cc: Likewise.
* testsuite/26_numerics/bit/bitops.count/countr_zero.cc: Likewise.
* testsuite/26_numerics/bit/bitops.count/popcount.cc: Likewise.
* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Likewise.
* testsuite/26_numerics/bit/bitops.rot/rotr.cc: Likewise.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/fs_path.h
trunk/libstdc++-v3/include/std/bit
trunk/libstdc++-v3/include/std/charconv
trunk/libstdc++-v3/include/std/type_traits
trunk/libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/ceil2.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/floor2.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/ispow2.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/log2p1.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.count/countl_one.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.count/countl_zero.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.count/countr_one.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.count/countr_zero.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.count/popcount.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.rot/rotl.cc
trunk/libstdc++-v3/testsuite/26_numerics/bit/bitops.rot/rotr.cc
More information about the Libstdc++-cvs
mailing list