LLVM API Documentation
#include "llvm/Support/ConvertUTF.h"
Go to the source code of this file.
Macros | |
#define | UNI_SUR_HIGH_START (UTF32)0xD800 |
#define | UNI_SUR_HIGH_END (UTF32)0xDBFF |
#define | UNI_SUR_LOW_START (UTF32)0xDC00 |
#define | UNI_SUR_LOW_END (UTF32)0xDFFF |
#define | false 0 |
#define | true 1 |
Functions | |
ConversionResult | ConvertUTF32toUTF16 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags) |
ConversionResult | ConvertUTF16toUTF32 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags) |
ConversionResult | ConvertUTF16toUTF8 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags) |
ConversionResult | ConvertUTF32toUTF8 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags) |
static Boolean | isLegalUTF8 (const UTF8 *source, int length) |
Boolean | isLegalUTF8Sequence (const UTF8 *source, const UTF8 *sourceEnd) |
unsigned | getNumBytesForUTF8 (UTF8 first) |
Boolean | isLegalUTF8String (const UTF8 **source, const UTF8 *sourceEnd) |
ConversionResult | ConvertUTF8toUTF16 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags) |
ConversionResult | ConvertUTF8toUTF32 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags) |
Variables | |
static const int | halfShift = 10 |
static const UTF32 | halfBase = 0x0010000UL |
static const UTF32 | halfMask = 0x3FFUL |
static const char | trailingBytesForUTF8 [256] |
static const UTF32 | offsetsFromUTF8 [6] |
static const UTF8 | firstByteMark [7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC } |
Scalar Replacement of false scalarrepl Scalar Replacement of false 0 |
Definition at line 64 of file ConvertUTF.c.
#define true 1 |
Definition at line 65 of file ConvertUTF.c.
Referenced by PerformSELECT_CCCombine().
#define UNI_SUR_HIGH_END (UTF32)0xDBFF |
Definition at line 61 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF32(), and ConvertUTF16toUTF8().
#define UNI_SUR_HIGH_START (UTF32)0xD800 |
Definition at line 60 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF32(), ConvertUTF16toUTF8(), ConvertUTF32toUTF16(), ConvertUTF32toUTF8(), ConvertUTF8toUTF16(), and ConvertUTF8toUTF32().
#define UNI_SUR_LOW_END (UTF32)0xDFFF |
Definition at line 63 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF32(), ConvertUTF16toUTF8(), ConvertUTF32toUTF16(), ConvertUTF32toUTF8(), ConvertUTF8toUTF16(), and ConvertUTF8toUTF32().
#define UNI_SUR_LOW_START (UTF32)0xDC00 |
Definition at line 62 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF32(), ConvertUTF16toUTF8(), ConvertUTF32toUTF16(), and ConvertUTF8toUTF16().
ConversionResult ConvertUTF16toUTF32 | ( | const UTF16 ** | sourceStart, |
const UTF16 * | sourceEnd, | ||
UTF32 ** | targetStart, | ||
UTF32 * | targetEnd, | ||
ConversionFlags | flags | ||
) |
Definition at line 166 of file ConvertUTF.c.
References conversionOK, llvm::LibFunc::fflush, llvm::LibFunc::fprintf, halfBase, halfShift, sourceExhausted, sourceIllegal, strictConversion, targetExhausted, UNI_SUR_HIGH_END, UNI_SUR_HIGH_START, UNI_SUR_LOW_END, and UNI_SUR_LOW_START.
ConversionResult ConvertUTF16toUTF8 | ( | const UTF16 ** | sourceStart, |
const UTF16 * | sourceEnd, | ||
UTF8 ** | targetStart, | ||
UTF8 * | targetEnd, | ||
ConversionFlags | flags | ||
) |
Definition at line 220 of file ConvertUTF.c.
References conversionOK, firstByteMark, halfBase, halfShift, sourceExhausted, sourceIllegal, strictConversion, targetExhausted, UNI_REPLACEMENT_CHAR, UNI_SUR_HIGH_END, UNI_SUR_HIGH_START, UNI_SUR_LOW_END, and UNI_SUR_LOW_START.
Referenced by llvm::convertUTF16ToUTF8String().
ConversionResult ConvertUTF32toUTF16 | ( | const UTF32 ** | sourceStart, |
const UTF32 * | sourceEnd, | ||
UTF16 ** | targetStart, | ||
UTF16 * | targetEnd, | ||
ConversionFlags | flags | ||
) |
Definition at line 117 of file ConvertUTF.c.
References conversionOK, halfBase, halfMask, halfShift, sourceIllegal, strictConversion, targetExhausted, UNI_MAX_BMP, UNI_MAX_LEGAL_UTF32, UNI_REPLACEMENT_CHAR, UNI_SUR_HIGH_START, UNI_SUR_LOW_END, and UNI_SUR_LOW_START.
ConversionResult ConvertUTF32toUTF8 | ( | const UTF32 ** | sourceStart, |
const UTF32 * | sourceEnd, | ||
UTF8 ** | targetStart, | ||
UTF8 * | targetEnd, | ||
ConversionFlags | flags | ||
) |
Definition at line 290 of file ConvertUTF.c.
References conversionOK, firstByteMark, sourceIllegal, strictConversion, targetExhausted, UNI_MAX_LEGAL_UTF32, UNI_REPLACEMENT_CHAR, UNI_SUR_HIGH_START, and UNI_SUR_LOW_END.
Referenced by llvm::ConvertCodePointToUTF8().
ConversionResult ConvertUTF8toUTF16 | ( | const UTF8 ** | sourceStart, |
const UTF8 * | sourceEnd, | ||
UTF16 ** | targetStart, | ||
UTF16 * | targetEnd, | ||
ConversionFlags | flags | ||
) |
Definition at line 421 of file ConvertUTF.c.
References conversionOK, halfBase, halfMask, halfShift, isLegalUTF8(), offsetsFromUTF8, sourceExhausted, sourceIllegal, strictConversion, targetExhausted, trailingBytesForUTF8, UNI_MAX_BMP, UNI_MAX_UTF16, UNI_REPLACEMENT_CHAR, UNI_SUR_HIGH_START, UNI_SUR_LOW_END, and UNI_SUR_LOW_START.
Referenced by llvm::ConvertUTF8toWide().
ConversionResult ConvertUTF8toUTF32 | ( | const UTF8 ** | sourceStart, |
const UTF8 * | sourceEnd, | ||
UTF32 ** | targetStart, | ||
UTF32 * | targetEnd, | ||
ConversionFlags | flags | ||
) |
Definition at line 494 of file ConvertUTF.c.
References conversionOK, isLegalUTF8(), offsetsFromUTF8, sourceExhausted, sourceIllegal, strictConversion, targetExhausted, trailingBytesForUTF8, UNI_MAX_LEGAL_UTF32, UNI_REPLACEMENT_CHAR, UNI_SUR_HIGH_START, and UNI_SUR_LOW_END.
Referenced by llvm::sys::unicode::columnWidthUTF8(), and llvm::ConvertUTF8toWide().
Definition at line 399 of file ConvertUTF.c.
References trailingBytesForUTF8.
Referenced by llvm::sys::unicode::columnWidthUTF8().
Definition at line 354 of file ConvertUTF.c.
Referenced by ConvertUTF8toUTF16(), ConvertUTF8toUTF32(), isLegalUTF8Sequence(), and isLegalUTF8String().
Definition at line 385 of file ConvertUTF.c.
References isLegalUTF8(), and trailingBytesForUTF8.
Definition at line 409 of file ConvertUTF.c.
References isLegalUTF8(), and trailingBytesForUTF8.
Referenced by llvm::ConvertUTF8toWide().
|
static |
Definition at line 102 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF8(), and ConvertUTF32toUTF8().
|
static |
Definition at line 57 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF32(), ConvertUTF16toUTF8(), ConvertUTF32toUTF16(), and ConvertUTF8toUTF16().
|
static |
Definition at line 58 of file ConvertUTF.c.
Referenced by ConvertUTF32toUTF16(), and ConvertUTF8toUTF16().
|
static |
Definition at line 55 of file ConvertUTF.c.
Referenced by ConvertUTF16toUTF32(), ConvertUTF16toUTF8(), ConvertUTF32toUTF16(), and ConvertUTF8toUTF16().
|
static |
Definition at line 92 of file ConvertUTF.c.
Referenced by ConvertUTF8toUTF16(), and ConvertUTF8toUTF32().
|
static |
Definition at line 76 of file ConvertUTF.c.
Referenced by ConvertUTF8toUTF16(), ConvertUTF8toUTF32(), getNumBytesForUTF8(), isLegalUTF8Sequence(), and isLegalUTF8String().