icu::LocaleMatcher::Builder Class Reference

LocaleMatcher builder. More...

#include <localematcher.h>

Inheritance diagram for icu::LocaleMatcher::Builder:
icu::UMemory

Public Member Functions

 Builder ()
 Constructs a builder used in chaining parameters for building a LocaleMatcher.
 Builder (Builder &&src) U_NOEXCEPT
 Move constructor; might modify the source.
 ~Builder ()
 Destructor.
Builder & operator= (Builder &&src) U_NOEXCEPT
 Move assignment; might modify the source.
Builder & setSupportedLocalesFromListString (StringPiece locales)
 Parses an Accept-Language string (RFC 2616 Section 14.4), such as "af, en, fr;q=0.9", and sets the supported locales accordingly.
Builder & setSupportedLocales (Locale::Iterator &locales)
 Copies the supported locales, preserving iteration order.
template<typename Iter >
Builder & setSupportedLocales (Iter begin, Iter end)
 Copies the supported locales from the begin/end range, preserving iteration order.
template<typename Iter , typename Conv >
Builder & setSupportedLocalesViaConverter (Iter begin, Iter end, Conv converter)
 Copies the supported locales from the begin/end range, preserving iteration order.
Builder & addSupportedLocale (const Locale &locale)
 Adds another supported locale.
Builder & setDefaultLocale (const Locale *defaultLocale)
 Sets the default locale; if nullptr, or if it is not set explicitly, then the first supported locale is used as the default locale.
Builder & setFavorSubtag (ULocMatchFavorSubtag subtag)
 If ULOCMATCH_FAVOR_SCRIPT, then the language differences are smaller than script differences.
Builder & setDemotionPerDesiredLocale (ULocMatchDemotion demotion)
 Option for whether all desired locales are treated equally or earlier ones are preferred (this is the default).
UBool copyErrorTo (UErrorCode &outErrorCode) const
 Sets the UErrorCode if an error occurred while setting parameters.
LocaleMatcher build (UErrorCode &errorCode) const
 Builds and returns a new locale matcher.

Friends

class LocaleMatcher

Detailed Description

LocaleMatcher builder.

Movable but not copyable.

See also:
LocaleMatcher::builder()
Draft:
This API may be changed in the future versions and was introduced in ICU 65

Definition at line 266 of file localematcher.h.


Constructor & Destructor Documentation

icu::LocaleMatcher::Builder::Builder (  )  [inline]

Constructs a builder used in chaining parameters for building a LocaleMatcher.

Returns:
a new Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65

Definition at line 274 of file localematcher.h.

icu::LocaleMatcher::Builder::Builder ( Builder &&  src  ) 

Move constructor; might modify the source.

This builder will have the same contents that the source builder had.

Parameters:
src Builder to move contents from.
Draft:
This API may be changed in the future versions and was introduced in ICU 65
icu::LocaleMatcher::Builder::~Builder (  ) 

Destructor.

Draft:
This API may be changed in the future versions and was introduced in ICU 65

Member Function Documentation

Builder& icu::LocaleMatcher::Builder::addSupportedLocale ( const Locale &  locale  ) 

Adds another supported locale.

Duplicates are allowed, and are not removed.

Parameters:
locale another locale
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65
LocaleMatcher icu::LocaleMatcher::Builder::build ( UErrorCode &  errorCode  )  const

Builds and returns a new locale matcher.

This builder can continue to be used.

Parameters:
errorCode ICU error code. Its input value must pass the U_SUCCESS() test, or else the function returns immediately. Check for U_FAILURE() on output or use with function chaining. (See User Guide for details.)
Returns:
new LocaleMatcher.
Draft:
This API may be changed in the future versions and was introduced in ICU 65
UBool icu::LocaleMatcher::Builder::copyErrorTo ( UErrorCode &  outErrorCode  )  const

Sets the UErrorCode if an error occurred while setting parameters.

Preserves older error codes in the outErrorCode.

Parameters:
outErrorCode Set to an error code if it does not contain one already and an error occurred while setting parameters. Otherwise unchanged.
Returns:
TRUE if U_FAILURE(outErrorCode)
Draft:
This API may be changed in the future versions and was introduced in ICU 65
Builder& icu::LocaleMatcher::Builder::operator= ( Builder &&  src  ) 

Move assignment; might modify the source.

This builder will have the same contents that the source builder had.

Parameters:
src Builder to move contents from.
Draft:
This API may be changed in the future versions and was introduced in ICU 65
Builder& icu::LocaleMatcher::Builder::setDefaultLocale ( const Locale *  defaultLocale  ) 

Sets the default locale; if nullptr, or if it is not set explicitly, then the first supported locale is used as the default locale.

Parameters:
defaultLocale the default locale (will be copied)
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65
Builder& icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale ( ULocMatchDemotion  demotion  ) 

Option for whether all desired locales are treated equally or earlier ones are preferred (this is the default).

Parameters:
demotion the demotion per desired locale to set.
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65
Builder& icu::LocaleMatcher::Builder::setFavorSubtag ( ULocMatchFavorSubtag  subtag  ) 

If ULOCMATCH_FAVOR_SCRIPT, then the language differences are smaller than script differences.

This is used in situations (such as maps) where it is better to fall back to the same script than a similar language.

Parameters:
subtag the subtag to favor
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65
template<typename Iter >
Builder& icu::LocaleMatcher::Builder::setSupportedLocales ( Iter  begin,
Iter  end 
) [inline]

Copies the supported locales from the begin/end range, preserving iteration order.

Clears any previously set/added supported locales first. Duplicates are allowed, and are not removed.

Each of the iterator parameter values must be an input iterator whose value is convertible to const Locale &.

Parameters:
begin Start of range.
end Exclusive end of range.
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65

Definition at line 339 of file localematcher.h.

References U_FAILURE.

Builder& icu::LocaleMatcher::Builder::setSupportedLocales ( Locale::Iterator &  locales  ) 

Copies the supported locales, preserving iteration order.

Clears any previously set/added supported locales first. Duplicates are allowed, and are not removed.

Parameters:
locales the list of locale
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65
Builder& icu::LocaleMatcher::Builder::setSupportedLocalesFromListString ( StringPiece  locales  ) 

Parses an Accept-Language string (RFC 2616 Section 14.4), such as "af, en, fr;q=0.9", and sets the supported locales accordingly.

Allows whitespace in more places but does not allow "*". Clears any previously set/added supported locales first.

Parameters:
locales the Accept-Language string of locales to set
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65
template<typename Iter , typename Conv >
Builder& icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter ( Iter  begin,
Iter  end,
Conv  converter 
) [inline]

Copies the supported locales from the begin/end range, preserving iteration order.

Calls the converter to convert each *begin to a Locale or const Locale &. Clears any previously set/added supported locales first. Duplicates are allowed, and are not removed.

Each of the iterator parameter values must be an input iterator whose value is convertible to const Locale &.

Parameters:
begin Start of range.
end Exclusive end of range.
converter Converter from *begin to const Locale & or compatible.
Returns:
this Builder object
Draft:
This API may be changed in the future versions and was introduced in ICU 65

Definition at line 364 of file localematcher.h.

References U_FAILURE.


The documentation for this class was generated from the following file:

Generated on 8 Feb 2022 for ICU 65.1 by  doxygen 1.6.1