feisty meow concerns codebase  2.140
utf_conversion.h File Reference

Support for unicode builds. More...

#include "astring.h"
#include "definitions.h"
Include dependency graph for utf_conversion.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 basis
 The guards collection helps in testing preconditions and reporting errors.
 

Macros

#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
 

Typedefs

typedef unsigned long basis::UTF32
 
typedef unsigned short basis::UTF16
 
typedef unsigned char basis::UTF8
 
typedef unsigned char basis::Booleano
 

Enumerations

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

Functions

ConversionResult basis::ConvertUTF8toUTF16 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags)
 
ConversionResult basis::ConvertUTF16toUTF8 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags)
 
ConversionResult basis::ConvertUTF8toUTF32 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
 
ConversionResult basis::ConvertUTF32toUTF8 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags)
 
ConversionResult basis::ConvertUTF16toUTF32 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
 
ConversionResult basis::ConvertUTF32toUTF16 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags)
 
Booleano basis::isLegalUTF8Sequence (const UTF8 *source, const UTF8 *sourceEnd)
 

Detailed Description

Support for unicode builds.

This file provides conversions between UTF-8 and UTF-16 that are essential to having the code compile in either the UNICODE or regular ANSI character builds of win32-based code.

Definition in file utf_conversion.h.

Macro Definition Documentation

◆ UNI_MAX_BMP

#define UNI_MAX_BMP   (UTF32)0x0000FFFF

Definition at line 131 of file utf_conversion.h.

◆ UNI_MAX_LEGAL_UTF32

#define UNI_MAX_LEGAL_UTF32   (UTF32)0x0010FFFF

Definition at line 134 of file utf_conversion.h.

◆ UNI_MAX_UTF16

#define UNI_MAX_UTF16   (UTF32)0x0010FFFF

Definition at line 132 of file utf_conversion.h.

◆ UNI_MAX_UTF32

#define UNI_MAX_UTF32   (UTF32)0x7FFFFFFF

Definition at line 133 of file utf_conversion.h.

◆ UNI_REPLACEMENT_CHAR

#define UNI_REPLACEMENT_CHAR   (UTF32)0x0000FFFD

Definition at line 130 of file utf_conversion.h.