LLVM API Documentation

Defines | Typedefs | Enumerations | Functions
ConvertUTF.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define UNI_REPLACEMENT_CHAR   (UTF32)0x0000FFFD
#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
#define UNI_MAX_UTF8_BYTES_PER_CODE_POINT   4
#define UNI_UTF16_BYTE_ORDER_MARK_NATIVE   0xFEFF
#define UNI_UTF16_BYTE_ORDER_MARK_SWAPPED   0xFFFE

Typedefs

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

Enumerations

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

Functions

ConversionResult ConvertUTF8toUTF16 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags)
ConversionResult ConvertUTF8toUTF32Partial (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
ConversionResult ConvertUTF8toUTF32 (const UTF8 **sourceStart, const UTF8 *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)
ConversionResult ConvertUTF16toUTF32 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
ConversionResult ConvertUTF32toUTF16 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags)
Boolean isLegalUTF8Sequence (const UTF8 *source, const UTF8 *sourceEnd)
Boolean isLegalUTF8String (const UTF8 **source, const UTF8 *sourceEnd)
unsigned getNumBytesForUTF8 (UTF8 firstByte)

Define Documentation

#define UNI_MAX_BMP   (UTF32)0x0000FFFF

Definition at line 108 of file ConvertUTF.h.

Referenced by ConvertUTF32toUTF16(), and ConvertUTF8toUTF16().

#define UNI_MAX_LEGAL_UTF32   (UTF32)0x0010FFFF

Definition at line 111 of file ConvertUTF.h.

Referenced by ConvertUTF32toUTF16(), ConvertUTF32toUTF8(), and ConvertUTF8toUTF32Impl().

#define UNI_MAX_UTF16   (UTF32)0x0010FFFF

Definition at line 109 of file ConvertUTF.h.

Referenced by ConvertUTF8toUTF16().

#define UNI_MAX_UTF32   (UTF32)0x7FFFFFFF

Definition at line 110 of file ConvertUTF.h.

Definition at line 113 of file ConvertUTF.h.

Referenced by llvm::convertUTF16ToUTF8String().

#define UNI_REPLACEMENT_CHAR   (UTF32)0x0000FFFD
#define UNI_UTF16_BYTE_ORDER_MARK_NATIVE   0xFEFF

Definition at line 115 of file ConvertUTF.h.

Referenced by llvm::convertUTF16ToUTF8String().

#define UNI_UTF16_BYTE_ORDER_MARK_SWAPPED   0xFFFE

Definition at line 116 of file ConvertUTF.h.

Referenced by llvm::convertUTF16ToUTF8String().


Typedef Documentation

typedef unsigned char Boolean

Definition at line 104 of file ConvertUTF.h.

typedef unsigned short UTF16

Definition at line 102 of file ConvertUTF.h.

typedef unsigned int UTF32

Definition at line 101 of file ConvertUTF.h.

typedef unsigned char UTF8

Definition at line 103 of file ConvertUTF.h.


Enumeration Type Documentation

Enumerator:
strictConversion 
lenientConversion 

Definition at line 125 of file ConvertUTF.h.

Enumerator:
conversionOK 
sourceExhausted 
targetExhausted 
sourceIllegal 

Definition at line 118 of file ConvertUTF.h.


Function Documentation

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 ConvertUTF32toUTF16 ( const UTF32 **  sourceStart,
const UTF32 sourceEnd,
UTF16 **  targetStart,
UTF16 targetEnd,
ConversionFlags  flags 
)
ConversionResult ConvertUTF32toUTF8 ( const UTF32 **  sourceStart,
const UTF32 sourceEnd,
UTF8 **  targetStart,
UTF8 targetEnd,
ConversionFlags  flags 
)
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 
)

Convert a partial UTF8 sequence to UTF32. If the sequence ends in an incomplete code unit sequence, returns sourceIllegal.

Definition at line 684 of file ConvertUTF.c.

References ConvertUTF8toUTF32Impl().

Referenced by llvm::sys::unicode::columnWidthUTF8(), and llvm::ConvertUTF8toWide().

ConversionResult ConvertUTF8toUTF32Partial ( const UTF8 **  sourceStart,
const UTF8 sourceEnd,
UTF32 **  targetStart,
UTF32 targetEnd,
ConversionFlags  flags 
)

Convert a partial UTF8 sequence to UTF32. If the sequence ends in an incomplete code unit sequence, returns sourceExhausted.

Definition at line 675 of file ConvertUTF.c.

References ConvertUTF8toUTF32Impl().

Definition at line 493 of file ConvertUTF.c.

References trailingBytesForUTF8.

Referenced by llvm::sys::unicode::columnWidthUTF8().

Boolean isLegalUTF8Sequence ( const UTF8 source,
const UTF8 sourceEnd 
)

Definition at line 386 of file ConvertUTF.c.

References isLegalUTF8(), and trailingBytesForUTF8.

Referenced by findMaximalSubpartOfIllFormedUTF8Sequence().

Boolean isLegalUTF8String ( const UTF8 **  source,
const UTF8 sourceEnd 
)

Definition at line 503 of file ConvertUTF.c.

References isLegalUTF8(), and trailingBytesForUTF8.

Referenced by llvm::ConvertUTF8toWide().