27#if U_SHOW_CPLUSPLUS_API
279 IDNAInfo() : errors(0), labelErrors(0), isTransDiff(false), isBiDi(false), isOkBiDi(true) {}
315 errors=labelErrors=0;
321 uint32_t errors, labelErrors;
C++ API: Interface for writing bytes, and implementation classes.
A ByteSink can be filled with bytes.
Output container for IDNA processing errors.
uint32_t getErrors() const
Returns a bit set indicating IDNA processing errors.
UBool hasErrors() const
Were there IDNA processing errors?
UBool isTransitionalDifferent() const
Returns true if transitional and nontransitional processing produce different results.
IDNAInfo()
Constructor for stack allocation.
Abstract base class for IDNA processing.
virtual void labelToASCII_UTF8(StringPiece label, ByteSink &dest, IDNAInfo &info, UErrorCode &errorCode) const
Converts a single domain name label into its ASCII form for DNS lookup.
virtual void nameToASCII_UTF8(StringPiece name, ByteSink &dest, IDNAInfo &info, UErrorCode &errorCode) const
Converts a whole domain name into its ASCII form for DNS lookup.
static IDNA * createUTS46Instance(uint32_t options, UErrorCode &errorCode)
Returns an IDNA instance which implements UTS #46.
virtual void nameToUnicodeUTF8(StringPiece name, ByteSink &dest, IDNAInfo &info, UErrorCode &errorCode) const
Converts a whole domain name into its Unicode form for human-readable display.
virtual UnicodeString & labelToASCII(const UnicodeString &label, UnicodeString &dest, IDNAInfo &info, UErrorCode &errorCode) const =0
Converts a single domain name label into its ASCII form for DNS lookup.
virtual void labelToUnicodeUTF8(StringPiece label, ByteSink &dest, IDNAInfo &info, UErrorCode &errorCode) const
Converts a single domain name label into its Unicode form for human-readable display.
virtual UnicodeString & nameToUnicode(const UnicodeString &name, UnicodeString &dest, IDNAInfo &info, UErrorCode &errorCode) const =0
Converts a whole domain name into its Unicode form for human-readable display.
virtual UnicodeString & nameToASCII(const UnicodeString &name, UnicodeString &dest, IDNAInfo &info, UErrorCode &errorCode) const =0
Converts a whole domain name into its ASCII form for DNS lookup.
virtual UnicodeString & labelToUnicode(const UnicodeString &label, UnicodeString &dest, IDNAInfo &info, UErrorCode &errorCode) const =0
Converts a single domain name label into its Unicode form for human-readable display.
A string-like object that points to a sized piece of memory.
UMemory is the common ICU base class.
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: StringPiece: Read-only byte string wrapper class.
C API: Internationalizing Domain Names in Applications (IDNA)
int8_t UBool
The ICU boolean type, a signed-byte integer.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.