class Builder
Defined at line 301 of file ../../third_party/icu/default/source/common/unicode/localematcher.h
LocaleMatcher builder.
Movable but not copyable.
ICU 65
Public Methods
void Builder ()
Constructs a builder used in chaining parameters for building a LocaleMatcher.
Returns
a new Builder object
ICU 65
Defined at line 309 of file ../../third_party/icu/default/source/common/unicode/localematcher.h
void Builder (Builder && src)
Move constructor; might modify the source.
This builder will have the same contents that the source builder had.
Parameters
void ~Builder ()
Destructor.
ICU 65
Builder & operator= (Builder && src)
Move assignment; might modify the source.
This builder will have the same contents that the source builder had.
Parameters
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
Returns
this Builder object
ICU 65
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
Returns
this Builder object
ICU 65
Builder & addSupportedLocale (const Locale & locale)
Adds another supported locale.
Duplicates are allowed, and are not removed.
Parameters
Returns
this Builder object
ICU 65
Builder & setNoDefaultLocale ()
Sets no default locale.
There will be no explicit or implicit default locale.
If there is no good match, then the matcher will return nullptr for the
best supported locale.
ICU 68
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.
There is no default locale at all (nullptr will be returned instead)
if setNoDefaultLocale() is called.
Parameters
Returns
this Builder object
ICU 65
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
Returns
this Builder object
ICU 65
Builder & setDemotionPerDesiredLocale (ULocMatchDemotion demotion)
Option for whether all desired locales are treated equally or
earlier ones are preferred (this is the default).
Parameters
Returns
this Builder object
ICU 65
template <typename Iter>
Builder & setSupportedLocales (Iter begin, Iter end)
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
Returns
this Builder object
ICU 65
Defined at line 374 of file ../../third_party/icu/default/source/common/unicode/localematcher.h
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.
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
Returns
this Builder object
ICU 65
Defined at line 399 of file ../../third_party/icu/default/source/common/unicode/localematcher.h
Builder & setDirection (ULocMatchDirection matchDirection)
Option for whether to include or ignore one-way (fallback) match data.
By default, they are included.
Parameters
Returns
this Builder object
ICU 67
Defined at line 470 of file ../../third_party/icu/default/source/common/unicode/localematcher.h
Builder & setMaxDistance (const Locale & desired, const Locale & supported)
Sets the maximum distance for an acceptable match.
The matcher will return a match for a pair of locales only if
they match at least as well as the pair given here.
For example, setMaxDistance(en-US, en-GB) limits matches to ones where the
(desired, support) locales have a distance no greater than a region subtag difference.
This is much stricter than the CLDR default.
The details of locale matching are subject to changes in
CLDR data and in the algorithm.
Specifying a maximum distance in relative terms via a sample pair of locales
insulates from changes that affect all distance metrics similarly,
but some changes will necessarily affect relative distances between
different pairs of locales.
Parameters
Returns
this Builder object
ICU 68
UBool copyErrorTo (UErrorCode & outErrorCode)
Sets the UErrorCode if an error occurred while setting parameters.
Preserves older error codes in the outErrorCode.
Parameters
Returns
true if U_FAILURE(outErrorCode)
ICU 65
LocaleMatcher build (UErrorCode & errorCode)
Builds and returns a new locale matcher.
This builder can continue to be used.
Parameters
Returns
LocaleMatcher
ICU 65
Friends
class LocaleMatcher