ICU 76.1 76.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 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(), and U_ICU_NAMESPACE_OR_INTERNAL::uprv_char16PtrFromUChar().
|
inline |
Converts from char16_t * to OldUChar *.
Includes an aliasing barrier if available.
p | pointer |
Definition at line 337 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 323 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 382 of file char16ptr.h.
|
inline |
Pass-through overload.
Definition at line 374 of file char16ptr.h.
|
inline |
Pass-through overload.
Definition at line 404 of file char16ptr.h.
|
inline |
In case of nullptr, return an empty view.
Definition at line 415 of file char16ptr.h.
|
inline |
Converts from char16_t * to UChar *.
Includes an aliasing barrier if available.
p | pointer |
Definition at line 309 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 295 of file char16ptr.h.
References U_ALIASING_BARRIER.
|
inline |
Definition at line 272 of file char16ptr.h.
References U_ALIASING_BARRIER.