diff options
Diffstat (limited to 'include/unicode/type_traits.h')
-rw-r--r-- | include/unicode/type_traits.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/unicode/type_traits.h b/include/unicode/type_traits.h index c3507e7..63c7d69 100644 --- a/include/unicode/type_traits.h +++ b/include/unicode/type_traits.h @@ -50,7 +50,7 @@ namespace unicode { template<typename T> struct is_utf_8 { - static const bool value{std::is_trivial_v<T> && sizeof(T) == 1}; + static const bool value{std::is_same_v<T, UTF_8> || (std::is_trivial_v<T> && sizeof(T) == 1)}; }; template<typename T> @@ -59,7 +59,7 @@ namespace unicode { template<typename T> struct is_utf_16 { - static const bool value{std::is_trivial_v<T> && sizeof(T) == 2}; + static const bool value{std::is_same_v<T, UTF_16> || (std::is_trivial_v<T> && sizeof(T) == 2)}; }; template<typename T> @@ -68,7 +68,7 @@ namespace unicode { template<typename T> struct is_utf_32 { - static const bool value{std::is_trivial_v<T> && sizeof(T) == 4}; + static const bool value{std::is_same_v<T, UTF_32> || (std::is_trivial_v<T> && sizeof(T) == 4)}; }; template<typename T> |