|
ICU 77.1 77.1
|
C++ API: char16_t pointer wrappers with implicit conversion from bit-compatible raw pointer types. More...
Go to the source code of this file.
Data Structures | |
| class | icu::Char16Ptr |
| char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types. More... | |
| class | icu::ConstChar16Ptr |
| const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types. More... | |
Namespaces | |
| namespace | icu |
| File coll.h. | |
Macros | |
| #define | U_ALIASING_BARRIER(ptr) |
| Barrier for pointer anti-aliasing optimizations even across function boundaries. | |
Functions | |
| template<typename T, typename = std::enable_if_t<std::is_same_v<T, UChar>>> | |
| const char16_t * | U_ICU_NAMESPACE_OR_INTERNAL::uprv_char16PtrFromUChar (const T *p) |
| const char16_t * | U_ICU_NAMESPACE_OR_INTERNAL::uprv_char16PtrFromUint16 (const uint16_t *p) |
| const UChar * | U_ICU_NAMESPACE_OR_INTERNAL::toUCharPtr (const char16_t *p) |
| Converts from const char16_t * to const UChar *. | |
| UChar * | U_ICU_NAMESPACE_OR_INTERNAL::toUCharPtr (char16_t *p) |
| Converts from char16_t * to UChar *. | |
| const OldUChar * | U_ICU_NAMESPACE_OR_INTERNAL::toOldUCharPtr (const char16_t *p) |
| Converts from const char16_t * to const OldUChar *. | |
| OldUChar * | U_ICU_NAMESPACE_OR_INTERNAL::toOldUCharPtr (char16_t *p) |
| Converts from char16_t * to OldUChar *. | |
| std::u16string_view | icu::internal::toU16StringView (std::u16string_view sv) |
| Pass-through overload. | |
| std::u16string_view | icu::internal::toU16StringView (std::basic_string_view< uint16_t > sv) |
| Basically undefined behavior but sometimes necessary conversion from std::basic_string_view<uint16_t> to std::u16string_view. | |
| template<typename T, typename = typename std::enable_if_t<!std::is_pointer_v<std::remove_reference_t<T>>>> | |
| std::u16string_view | icu::internal::toU16StringViewNullable (const T &text) |
| Pass-through overload. | |
| template<typename T, typename = typename std::enable_if_t<std::is_pointer_v<std::remove_reference_t<T>>>, typename = void> | |
| std::u16string_view | icu::internal::toU16StringViewNullable (const T &text) |
| In case of nullptr, return an empty view. | |
Variables | |
| template<typename T> | |
| constexpr bool | icu::ConvertibleToU16StringView |
| Is T convertible to a std::u16string_view or some other 16-bit string view? | |
C++ API: char16_t pointer wrappers with implicit conversion from bit-compatible raw pointer types.
Also conversion functions from char16_t * to UChar * and OldUChar *.
Definition in file char16ptr.h.
| #define U_ALIASING_BARRIER | ( | ptr | ) |
Barrier for pointer anti-aliasing optimizations even across function boundaries.
Definition at line 37 of file char16ptr.h.
Referenced by icu::UnicodeString::operator std::wstring_view(), U_ICU_NAMESPACE_OR_INTERNAL::toOldUCharPtr(), U_ICU_NAMESPACE_OR_INTERNAL::toOldUCharPtr(), U_ICU_NAMESPACE_OR_INTERNAL::toUCharPtr(), U_ICU_NAMESPACE_OR_INTERNAL::toUCharPtr(), U_ICU_NAMESPACE_OR_INTERNAL::uprv_char16PtrFromUChar(), and U_ICU_NAMESPACE_OR_INTERNAL::uprv_char16PtrFromUint16().
|
inline |
Converts from char16_t * to OldUChar *.
Includes an aliasing barrier if available.
| p | pointer |
Definition at line 363 of file char16ptr.h.
References U_ALIASING_BARRIER.
|
inline |
Converts from const char16_t * to const OldUChar *.
Includes an aliasing barrier if available.
| p | pointer |
Definition at line 349 of file char16ptr.h.
References U_ALIASING_BARRIER.
|
inline |
Basically undefined behavior but sometimes necessary conversion from std::basic_string_view<uint16_t> to std::u16string_view.
Definition at line 408 of file char16ptr.h.
|
inline |
Pass-through overload.
Definition at line 400 of file char16ptr.h.
|
inline |
In case of nullptr, return an empty view.
Definition at line 441 of file char16ptr.h.
|
inline |
Pass-through overload.
Definition at line 430 of file char16ptr.h.
|
inline |
Converts from char16_t * to UChar *.
Includes an aliasing barrier if available.
| p | pointer |
Definition at line 335 of file char16ptr.h.
References U_ALIASING_BARRIER.
|
inline |
Converts from const char16_t * to const UChar *.
Includes an aliasing barrier if available.
| p | pointer |
Definition at line 321 of file char16ptr.h.
References U_ALIASING_BARRIER.
|
inline |
Definition at line 272 of file char16ptr.h.
References U_ALIASING_BARRIER.
|
inline |
Definition at line 288 of file char16ptr.h.
References U_ALIASING_BARRIER.