summaryrefslogtreecommitdiffhomepage
path: root/include/unicode/type_traits.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/unicode/type_traits.h')
-rw-r--r--include/unicode/type_traits.h6
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>