3#ifndef __ULOCBUILDER_H__
4#define __ULOCBUILDER_H__
287 const char* key, int32_t keyLength,
const char* type, int32_t typeLength);
418#if U_SHOW_CPLUSPLUS_API
"Smart pointer" class, closes a ULocaleBuilder via ulocbld_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
C API: Locale ID functionality similar to C++ class Locale.
struct ULocale ULocale
C typedef for struct ULocale.
U_CAPI void ulocbld_setRegion(ULocaleBuilder *builder, const char *region, int32_t length)
Sets the region.
U_CAPI void ulocbld_adoptULocale(ULocaleBuilder *builder, ULocale *locale)
Resets the ULocaleBuilder to match the provided ULocale.
U_CAPI void ulocbld_setVariant(ULocaleBuilder *builder, const char *variant, int32_t length)
Sets the variant.
U_CAPI void ulocbld_removeUnicodeLocaleAttribute(ULocaleBuilder *builder, const char *attribute, int32_t length)
Removes a unicode locale attribute, if present, otherwise has no effect.
U_CAPI void ulocbld_setExtension(ULocaleBuilder *builder, char key, const char *value, int32_t length)
Sets the extension for the given key.
U_CAPI ULocale * ulocbld_buildULocale(ULocaleBuilder *builder, UErrorCode *err)
Build the ULocale object from the fields set on this builder.
U_CAPI UBool ulocbld_copyErrorTo(const ULocaleBuilder *builder, UErrorCode *outErrorCode)
Sets the UErrorCode if an error occurred while recording sets.
struct ULocaleBuilder ULocaleBuilder
C typedef for struct ULocaleBuilder.
U_CAPI void ulocbld_setScript(ULocaleBuilder *builder, const char *script, int32_t length)
Sets the script.
U_CAPI void ulocbld_setLocale(ULocaleBuilder *builder, const char *locale, int32_t length)
Resets the ULocaleBuilder to match the provided locale.
U_CAPI ULocaleBuilder * ulocbld_open(void)
ULocaleBuilder is used to build valid locale id string or IETF BCP 47 language tag from values config...
U_CAPI void ulocbld_clear(ULocaleBuilder *builder)
Resets the builder to its initial, empty state.
U_CAPI void ulocbld_setLanguageTag(ULocaleBuilder *builder, const char *tag, int32_t length)
Resets the ULocaleBuilder to match the provided IETF BCP 47 language tag.
U_CAPI void ulocbld_setUnicodeLocaleKeyword(ULocaleBuilder *builder, const char *key, int32_t keyLength, const char *type, int32_t typeLength)
Sets the Unicode locale keyword type for the given key.
U_CAPI void ulocbld_addUnicodeLocaleAttribute(ULocaleBuilder *builder, const char *attribute, int32_t length)
Adds a unicode locale attribute, if not already present, otherwise has no effect.
U_CAPI int32_t ulocbld_buildLocaleID(ULocaleBuilder *builder, char *locale, int32_t localeCapacity, UErrorCode *err)
Build the LocaleID string from the fields set on this builder.
U_CAPI void ulocbld_close(ULocaleBuilder *builder)
Close the builder and destroy it's internal states.
U_CAPI int32_t ulocbld_buildLanguageTag(ULocaleBuilder *builder, char *language, int32_t languageCapacity, UErrorCode *err)
Build the IETF BCP 47 language tag string from the fields set on this builder.
U_CAPI void ulocbld_setLanguage(ULocaleBuilder *builder, const char *language, int32_t length)
Sets the language.
U_CAPI void ulocbld_clearExtensions(ULocaleBuilder *builder)
Resets the extensions to their initial, empty state.
int8_t UBool
The ICU boolean type, a signed-byte integer.
#define U_CAPI
This is used to declare a function as a public ICU C API.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.