LLVM 19.0.0git
Namespaces | Macros | Typedefs | Enumerations | Functions
ConvertUTF.h File Reference
#include <cstddef>
#include <string>

Go to the source code of this file.


namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.


#define UNI_MAX_BMP   (UTF32)0x0000FFFF
#define UNI_MAX_UTF16   (UTF32)0x0010FFFF
#define UNI_MAX_UTF32   (UTF32)0x7FFFFFFF
#define UNI_MAX_LEGAL_UTF32   (UTF32)0x0010FFFF


typedef unsigned int llvm::UTF32
typedef unsigned short llvm::UTF16
typedef unsigned char llvm::UTF8
typedef unsigned char llvm::Boolean


enum  llvm::ConversionResult { llvm::conversionOK , llvm::sourceExhausted , llvm::targetExhausted , llvm::sourceIllegal }
enum  llvm::ConversionFlags { llvm::strictConversion = 0 , llvm::lenientConversion }


ConversionResult llvm::ConvertUTF8toUTF16 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags)
ConversionResult llvm::ConvertUTF8toUTF32Partial (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
 Convert a partial UTF8 sequence to UTF32.
ConversionResult llvm::ConvertUTF8toUTF32 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
 Convert a partial UTF8 sequence to UTF32.
ConversionResult llvm::ConvertUTF16toUTF8 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags)
ConversionResult llvm::ConvertUTF32toUTF8 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags)
ConversionResult llvm::ConvertUTF16toUTF32 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
ConversionResult llvm::ConvertUTF32toUTF16 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags)
Boolean llvm::isLegalUTF8Sequence (const UTF8 *source, const UTF8 *sourceEnd)
Boolean llvm::isLegalUTF8String (const UTF8 **source, const UTF8 *sourceEnd)
unsigned llvm::getUTF8SequenceSize (const UTF8 *source, const UTF8 *sourceEnd)
unsigned llvm::getNumBytesForUTF8 (UTF8 firstByte)
bool llvm::ConvertUTF8toWide (unsigned WideCharWidth, llvm::StringRef Source, char *&ResultPtr, const UTF8 *&ErrorPtr)
 Convert an UTF8 StringRef to UTF8, UTF16, or UTF32 depending on WideCharWidth.
bool llvm::ConvertUTF8toWide (llvm::StringRef Source, std::wstring &Result)
 Converts a UTF-8 StringRef to a std::wstring.
bool llvm::ConvertUTF8toWide (const char *Source, std::wstring &Result)
 Converts a UTF-8 C-string to a std::wstring.
bool llvm::convertWideToUTF8 (const std::wstring &Source, std::string &Result)
 Converts a std::wstring to a UTF-8 encoded std::string.
bool llvm::ConvertCodePointToUTF8 (unsigned Source, char *&ResultPtr)
 Convert an Unicode code point to UTF8 sequence.
ConversionResult llvm::convertUTF8Sequence (const UTF8 **source, const UTF8 *sourceEnd, UTF32 *target, ConversionFlags flags)
 Convert the first UTF8 sequence in the given source buffer to a UTF32 code point.
bool llvm::hasUTF16ByteOrderMark (ArrayRef< char > SrcBytes)
 Returns true if a blob of text starts with a UTF-16 big or little endian byte order mark.
bool llvm::convertUTF16ToUTF8String (ArrayRef< char > SrcBytes, std::string &Out)
 Converts a stream of raw bytes assumed to be UTF16 into a UTF8 std::string.
bool llvm::convertUTF16ToUTF8String (ArrayRef< UTF16 > Src, std::string &Out)
 Converts a UTF16 string into a UTF8 std::string.
bool llvm::convertUTF32ToUTF8String (ArrayRef< char > SrcBytes, std::string &Out)
 Converts a stream of raw bytes assumed to be UTF32 into a UTF8 std::string.
bool llvm::convertUTF32ToUTF8String (ArrayRef< UTF32 > Src, std::string &Out)
 Converts a UTF32 string into a UTF8 std::string.
bool llvm::convertUTF8ToUTF16String (StringRef SrcUTF8, SmallVectorImpl< UTF16 > &DstUTF16)
 Converts a UTF-8 string into a UTF-16 string with native endianness.

Macro Definition Documentation


#define UNI_MAX_BMP   (UTF32)0x0000FFFF

Definition at line 135 of file ConvertUTF.h.


#define UNI_MAX_LEGAL_UTF32   (UTF32)0x0010FFFF

Definition at line 138 of file ConvertUTF.h.


#define UNI_MAX_UTF16   (UTF32)0x0010FFFF

Definition at line 136 of file ConvertUTF.h.


#define UNI_MAX_UTF32   (UTF32)0x7FFFFFFF

Definition at line 137 of file ConvertUTF.h.



Definition at line 140 of file ConvertUTF.h.



Definition at line 134 of file ConvertUTF.h.



Definition at line 142 of file ConvertUTF.h.



Definition at line 143 of file ConvertUTF.h.



Definition at line 145 of file ConvertUTF.h.



Definition at line 146 of file ConvertUTF.h.