* @brief i18n_uchar.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
+#if U_ICU_VERSION_MAJOR_NUM >= 59
+#if defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || \
+ defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION)
+// Inside the ICU library code, never configurable.
+typedef char16_t i18n_uchar;
+#elif defined(UCHAR_TYPE)
+typedef UCHAR_TYPE i18n_uchar;
+#elif defined(__cplusplus)
+typedef char16_t i18n_uchar;
+#else
+typedef uint16_t i18n_uchar;
+#endif
+
+#else //!(U_ICU_VERSION_MAJOR_NUM >= 59)
#if defined(UCHAR_TYPE)
typedef UCHAR_TYPE i18n_uchar;
/* Not #elif U_HAVE_CHAR16_T -- because that is type-incompatible with pre-C++11 callers
- typedef char16_t i18n_uchar; */
+ typedef char16_t i18n_uchar; */
+
#elif U_SIZEOF_WCHAR_T == 2
typedef wchar_t i18n_uchar;
#elif defined(__CHAR16_TYPE__)
#else
typedef uint16_t i18n_uchar;
#endif
-
+#endif // END OF (U_ICU_VERSION_MAJOR_NUM >= 59)
/**
* @brief i18n_uchar32.