ICU-21107 Simplify type_traits expressions for C++17.

This commit is contained in:
Fredrik Roubert 2024-01-18 14:15:14 +09:00 committed by Fredrik Roubert
parent 981057143c
commit d0672fa8ab
2 changed files with 6 additions and 6 deletions

View file

@ -130,13 +130,13 @@ class U_COMMON_API StringPiece : public UMemory {
* @stable ICU 65
*/
template <typename T,
typename = typename std::enable_if<
(std::is_same<decltype(T().data()), const char*>::value
typename = std::enable_if_t<
(std::is_same_v<decltype(T().data()), const char*>
#if defined(__cpp_char8_t)
|| std::is_same<decltype(T().data()), const char8_t*>::value
|| std::is_same_v<decltype(T().data()), const char8_t*>
#endif
) &&
std::is_same<decltype(T().size()), size_t>::value>::type>
std::is_same_v<decltype(T().size()), size_t>>>
StringPiece(T str)
: ptr_(reinterpret_cast<const char*>(str.data())),
length_(static_cast<int32_t>(str.size())) {}

View file

@ -219,8 +219,8 @@ class U_I18N_API FormattedStringBuilder : public UMemory {
static_assert(
// std::is_pod<> is deprecated.
std::is_standard_layout<FormattedStringBuilder::Field>::value &&
std::is_trivial<FormattedStringBuilder::Field>::value,
std::is_standard_layout_v<FormattedStringBuilder::Field> &&
std::is_trivial_v<FormattedStringBuilder::Field>,
"Field should be a POD type for efficient initialization");
constexpr FormattedStringBuilder::Field::Field(uint8_t category, uint8_t field)