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