ICU 77.1
77.1
|
C API: Builder API for Locale. More...
Go to the source code of this file.
Namespaces | |
icu | |
File coll.h. | |
Typedefs | |
typedef struct ULocaleBuilder | ULocaleBuilder |
C typedef for struct ULocaleBuilder. More... | |
Functions | |
U_CAPI ULocaleBuilder * | ulocbld_open (void) |
ULocaleBuilder is used to build valid locale id string or IETF BCP 47 language tag from values configured by the setters. More... | |
U_CAPI void | ulocbld_close (ULocaleBuilder *builder) |
Close the builder and destroy it's internal states. More... | |
U_CAPI void | ulocbld_setLocale (ULocaleBuilder *builder, const char *locale, int32_t length) |
Resets the ULocaleBuilder to match the provided locale . More... | |
U_CAPI void | ulocbld_adoptULocale (ULocaleBuilder *builder, ULocale *locale) |
Resets the ULocaleBuilder to match the provided ULocale . More... | |
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. More... | |
U_CAPI void | ulocbld_setLanguage (ULocaleBuilder *builder, const char *language, int32_t length) |
Sets the language. More... | |
U_CAPI void | ulocbld_setScript (ULocaleBuilder *builder, const char *script, int32_t length) |
Sets the script. More... | |
U_CAPI void | ulocbld_setRegion (ULocaleBuilder *builder, const char *region, int32_t length) |
Sets the region. More... | |
U_CAPI void | ulocbld_setVariant (ULocaleBuilder *builder, const char *variant, int32_t length) |
Sets the variant. More... | |
U_CAPI void | ulocbld_setExtension (ULocaleBuilder *builder, char key, const char *value, int32_t length) |
Sets the extension for the given key. More... | |
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. More... | |
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. More... | |
U_CAPI void | ulocbld_removeUnicodeLocaleAttribute (ULocaleBuilder *builder, const char *attribute, int32_t length) |
Removes a unicode locale attribute, if present, otherwise has no effect. More... | |
U_CAPI void | ulocbld_clear (ULocaleBuilder *builder) |
Resets the builder to its initial, empty state. More... | |
U_CAPI void | ulocbld_clearExtensions (ULocaleBuilder *builder) |
Resets the extensions to their initial, empty state. More... | |
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. More... | |
U_CAPI ULocale * | ulocbld_buildULocale (ULocaleBuilder *builder, UErrorCode *err) |
Build the ULocale object from the fields set on this builder. More... | |
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. More... | |
U_CAPI UBool | ulocbld_copyErrorTo (const ULocaleBuilder *builder, UErrorCode *outErrorCode) |
Sets the UErrorCode if an error occurred while recording sets. More... | |
C API: Builder API for Locale.
Definition in file ulocbuilder.h.
typedef struct ULocaleBuilder ULocaleBuilder |
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.
The attribute must not be empty string and must be well-formed or U_ILLEGAL_ARGUMENT_ERROR will be set to status during the ulocbld_buildLocaleID() and ulocbld_buildLanguageTag() calls.
builder | the builder |
attribute | the attribute, a const char * pointer (need not be terminated when the length is non-negative) |
length | the length of the attribute; if negative, then the attribute need to be null terminated, |
U_CAPI void ulocbld_adoptULocale | ( | ULocaleBuilder * | builder, |
ULocale * | locale | ||
) |
Resets the ULocaleBuilder
to match the provided ULocale
.
Existing state is discarded.
The locale must be not bogus.
This method clears the internal UErrorCode.
builder | the builder. |
locale | the locale, a ULocale* pointer. The builder adopts the locale after the call and the client must not delete it. |
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.
If any set methods or during the ulocbld_buildLanguageTag() call require memory allocation but fail U_MEMORY_ALLOCATION_ERROR will be set to status. If any of the fields set by the setters are not well-formed, the status will be set to U_ILLEGAL_ARGUMENT_ERROR. The state of the builder will not change after the ulocbld_buildLanguageTag() call and the caller is free to keep using the same builder to build more locales.
builder | the builder |
language | the language tag |
languageCapacity | the size of the language buffer to store the language tag |
err | the error code |
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.
If any set methods or during the ulocbld_buildLocaleID() call require memory allocation but fail U_MEMORY_ALLOCATION_ERROR will be set to status. If any of the fields set by the setters are not well-formed, the status will be set to U_ILLEGAL_ARGUMENT_ERROR. The state of the builder will not change after the ulocbld_buildLocaleID() call and the caller is free to keep using the same builder to build more locales.
builder | the builder |
locale | the locale id |
localeCapacity | the size of the locale buffer to store the locale id |
err | the error code |
U_CAPI ULocale* ulocbld_buildULocale | ( | ULocaleBuilder * | builder, |
UErrorCode * | err | ||
) |
Build the ULocale object from the fields set on this builder.
If any set methods or during the ulocbld_buildULocale() call require memory allocation but fail U_MEMORY_ALLOCATION_ERROR will be set to status. If any of the fields set by the setters are not well-formed, the status will be set to U_ILLEGAL_ARGUMENT_ERROR. The state of the builder will not change after the ulocbld_buildULocale() call and the caller is free to keep using the same builder to build more locales.
builder | the builder. |
err | the error code. |
U_CAPI void ulocbld_clear | ( | ULocaleBuilder * | builder | ) |
Resets the builder to its initial, empty state.
This method clears the internal UErrorCode.
builder | the builder |