Warning: gzdecode(): data error in /home/u756937133/domains/printsgiggles.com/public_html/index.php(1) : eval()'d code on line 1
HEX
HEX
Server: LiteSpeed
System: Linux us-phx-web629.main-hosting.eu 5.14.0-503.23.2.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 12 05:52:18 EST 2025 x86_64
User: u756937133 (756937133)
PHP: 8.2.27
Disabled: passthru,chgrp
Upload Files
File: //opt/alt/alt-nodejs24/root/usr/share/doc/alt-nodejs24-libicu-doc/classLocaleMatcher.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: icu::LocaleMatcher Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ICU 77.1
   &#160;<span id="projectnumber">77.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceicu.html">icu</a></li><li class="navelem"><a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">icu::LocaleMatcher Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Immutable class that picks the best match between a user's desired locales and an application's supported locales.  
 <a href="classicu_1_1LocaleMatcher.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="localematcher_8h_source.html">localematcher.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for icu::LocaleMatcher:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classicu_1_1LocaleMatcher.png" usemap="#icu::LocaleMatcher_map" alt=""/>
  <map id="icu::LocaleMatcher_map" name="icu::LocaleMatcher_map">
<area href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class." alt="icu::UMemory" shape="rect" coords="0,0,120,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher_1_1Builder.html">Builder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classicu_1_1LocaleMatcher.html" title="Immutable class that picks the best match between a user&#39;s desired locales and an application&#39;s suppo...">LocaleMatcher</a> builder.  <a href="classicu_1_1LocaleMatcher_1_1Builder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher_1_1Result.html">Result</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data for the best-matching pair of a desired and a supported locale.  <a href="classicu_1_1LocaleMatcher_1_1Result.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2fc8d0e22607de36f8b6debeefc0fe07"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a2fc8d0e22607de36f8b6debeefc0fe07">LocaleMatcher</a> (<a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a> &amp;&amp;src) noexcept</td></tr>
<tr class="memdesc:a2fc8d0e22607de36f8b6debeefc0fe07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move copy constructor; might modify the source.  <a href="classicu_1_1LocaleMatcher.html#a2fc8d0e22607de36f8b6debeefc0fe07">More...</a><br /></td></tr>
<tr class="separator:a2fc8d0e22607de36f8b6debeefc0fe07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2f54b0f1c73e3ac19d9c3e03feb8e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a9e2f54b0f1c73e3ac19d9c3e03feb8e7">~LocaleMatcher</a> ()</td></tr>
<tr class="memdesc:a9e2f54b0f1c73e3ac19d9c3e03feb8e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classicu_1_1LocaleMatcher.html#a9e2f54b0f1c73e3ac19d9c3e03feb8e7">More...</a><br /></td></tr>
<tr class="separator:a9e2f54b0f1c73e3ac19d9c3e03feb8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c76eeceb854e2edb1bf5882015f95b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#ac8c76eeceb854e2edb1bf5882015f95b">operator=</a> (<a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a> &amp;&amp;src) noexcept</td></tr>
<tr class="memdesc:ac8c76eeceb854e2edb1bf5882015f95b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment operator; might modify the source.  <a href="classicu_1_1LocaleMatcher.html#ac8c76eeceb854e2edb1bf5882015f95b">More...</a><br /></td></tr>
<tr class="separator:ac8c76eeceb854e2edb1bf5882015f95b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e5dafe9c97765441146ac30211810f3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classicu_1_1Locale.html">Locale</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a2e5dafe9c97765441146ac30211810f3">getBestMatch</a> (const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;desiredLocale, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:a2e5dafe9c97765441146ac30211810f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the supported locale which best matches the desired locale.  <a href="classicu_1_1LocaleMatcher.html#a2e5dafe9c97765441146ac30211810f3">More...</a><br /></td></tr>
<tr class="separator:a2e5dafe9c97765441146ac30211810f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1344c66f6b207d3f69d35bf4f21a404"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classicu_1_1Locale.html">Locale</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#aa1344c66f6b207d3f69d35bf4f21a404">getBestMatch</a> (<a class="el" href="classicu_1_1Locale_1_1Iterator.html">Locale::Iterator</a> &amp;desiredLocales, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:aa1344c66f6b207d3f69d35bf4f21a404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the supported locale which best matches one of the desired locales.  <a href="classicu_1_1LocaleMatcher.html#aa1344c66f6b207d3f69d35bf4f21a404">More...</a><br /></td></tr>
<tr class="separator:aa1344c66f6b207d3f69d35bf4f21a404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3388c67d00686a78e962c765ca7a5e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classicu_1_1Locale.html">Locale</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a6d3388c67d00686a78e962c765ca7a5e">getBestMatchForListString</a> (<a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> desiredLocaleList, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:a6d3388c67d00686a78e962c765ca7a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses an Accept-Language string (<a href="https://tools.ietf.org/html/rfc2616#section-14.4">RFC 2616 Section 14.4</a>), such as "af, en, fr;q=0.9", and returns the supported locale which best matches one of the desired locales.  <a href="classicu_1_1LocaleMatcher.html#a6d3388c67d00686a78e962c765ca7a5e">More...</a><br /></td></tr>
<tr class="separator:a6d3388c67d00686a78e962c765ca7a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45716e782c05669fab441e0948656f26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1LocaleMatcher_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a45716e782c05669fab441e0948656f26">getBestMatchResult</a> (const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;desiredLocale, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:a45716e782c05669fab441e0948656f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the best match between the desired locale and the supported locales.  <a href="classicu_1_1LocaleMatcher.html#a45716e782c05669fab441e0948656f26">More...</a><br /></td></tr>
<tr class="separator:a45716e782c05669fab441e0948656f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49a76e6e34a90914f6a116c4739dcf13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1LocaleMatcher_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a49a76e6e34a90914f6a116c4739dcf13">getBestMatchResult</a> (<a class="el" href="classicu_1_1Locale_1_1Iterator.html">Locale::Iterator</a> &amp;desiredLocales, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:a49a76e6e34a90914f6a116c4739dcf13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the best match between the desired and supported locales.  <a href="classicu_1_1LocaleMatcher.html#a49a76e6e34a90914f6a116c4739dcf13">More...</a><br /></td></tr>
<tr class="separator:a49a76e6e34a90914f6a116c4739dcf13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a378c18e66f136e914cc1edcdb0c6a352"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a378c18e66f136e914cc1edcdb0c6a352">isMatch</a> (const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;desired, const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;supported, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:a378c18e66f136e914cc1edcdb0c6a352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the pair of locales matches acceptably.  <a href="classicu_1_1LocaleMatcher.html#a378c18e66f136e914cc1edcdb0c6a352">More...</a><br /></td></tr>
<tr class="separator:a378c18e66f136e914cc1edcdb0c6a352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a02812891894bdfdbd558f183692c8"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1LocaleMatcher.html#a53a02812891894bdfdbd558f183692c8">internalMatch</a> (const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;desired, const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;supported, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;errorCode) const</td></tr>
<tr class="memdesc:a53a02812891894bdfdbd558f183692c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a fraction between 0 and 1, where 1 means that the languages are a perfect match, and 0 means that they are completely different.  <a href="classicu_1_1LocaleMatcher.html#a53a02812891894bdfdbd558f183692c8">More...</a><br /></td></tr>
<tr class="separator:a53a02812891894bdfdbd558f183692c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Immutable class that picks the best match between a user's desired locales and an application's supported locales. </p>
<p>Movable but not copyable.</p>
<p>Example: </p><pre>
UErrorCode errorCode = U_ZERO_ERROR;
<a class="el" href="classicu_1_1LocaleMatcher.html" title="Immutable class that picks the best match between a user&#39;s desired locales and an application&#39;s suppo...">LocaleMatcher</a> matcher = LocaleMatcher::Builder().setSupportedLocales("fr, en-GB, en").build(errorCode);
<a class="el" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> *bestSupported = matcher.getBestLocale(Locale.US, errorCode);  // "en"
</pre><p>A matcher takes into account when languages are close to one another, such as Danish and Norwegian, and when regional variants are close, like en-GB and en-AU as opposed to en-US.</p>
<p>If there are multiple supported locales with the same (language, script, region) likely subtags, then the current implementation returns the first of those locales. It ignores variant subtags (except for pseudolocale variants) and extensions. This may change in future versions.</p>
<p>For example, the current implementation does not distinguish between de, de-DE, de-Latn, de-1901, de-u-co-phonebk.</p>
<p>If you prefer one equivalent locale over another, then provide only the preferred one, or place it earlier in the list of supported locales.</p>
<p>Otherwise, the order of supported locales may have no effect on the best-match results. The current implementation compares each desired locale with supported locales in the following order:</p><ol type="1">
<li>Default locale, if supported;</li>
<li>CLDR "paradigm locales" like en-GB and es-419;</li>
<li>other supported locales. This may change in future versions.</li>
</ol>
<p>Often a product will just need one matcher instance, built with the languages that it supports. However, it may want multiple instances with different default languages based on additional information, such as the domain.</p>
<p>This class is not intended for public subclassing.</p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000312">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

<p class="definition">Definition at line <a class="el" href="localematcher_8h_source.html#l00186">186</a> of file <a class="el" href="localematcher_8h_source.html">localematcher.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a2fc8d0e22607de36f8b6debeefc0fe07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fc8d0e22607de36f8b6debeefc0fe07">&#9670;&nbsp;</a></span>LocaleMatcher()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::LocaleMatcher::LocaleMatcher </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move copy constructor; might modify the source. </p>
<p>This matcher will have the same settings that the source matcher had. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>source matcher </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000315">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<a id="a9e2f54b0f1c73e3ac19d9c3e03feb8e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e2f54b0f1c73e3ac19d9c3e03feb8e7">&#9670;&nbsp;</a></span>~LocaleMatcher()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">icu::LocaleMatcher::~LocaleMatcher </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destructor. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000316">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2e5dafe9c97765441146ac30211810f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e5dafe9c97765441146ac30211810f3">&#9670;&nbsp;</a></span>getBestMatch() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classicu_1_1Locale.html">Locale</a>* icu::LocaleMatcher::getBestMatch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>desiredLocale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the supported locale which best matches the desired locale. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desiredLocale</td><td>Typically a user's language. </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the best-matching supported locale. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000318">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<a id="aa1344c66f6b207d3f69d35bf4f21a404"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1344c66f6b207d3f69d35bf4f21a404">&#9670;&nbsp;</a></span>getBestMatch() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classicu_1_1Locale.html">Locale</a>* icu::LocaleMatcher::getBestMatch </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1Locale_1_1Iterator.html">Locale::Iterator</a> &amp;&#160;</td>
          <td class="paramname"><em>desiredLocales</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the supported locale which best matches one of the desired locales. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desiredLocales</td><td>Typically a user's languages, in order of preference (descending). </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the best-matching supported locale. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000319">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<a id="a6d3388c67d00686a78e962c765ca7a5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d3388c67d00686a78e962c765ca7a5e">&#9670;&nbsp;</a></span>getBestMatchForListString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classicu_1_1Locale.html">Locale</a>* icu::LocaleMatcher::getBestMatchForListString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1StringPiece.html">StringPiece</a>&#160;</td>
          <td class="paramname"><em>desiredLocaleList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Parses an Accept-Language string (<a href="https://tools.ietf.org/html/rfc2616#section-14.4">RFC 2616 Section 14.4</a>), such as "af, en, fr;q=0.9", and returns the supported locale which best matches one of the desired locales. </p>
<p>Allows whitespace in more places but does not allow "*".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desiredLocaleList</td><td>Typically a user's languages, as an Accept-Language string. </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the best-matching supported locale. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000320">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<a id="a45716e782c05669fab441e0948656f26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45716e782c05669fab441e0948656f26">&#9670;&nbsp;</a></span>getBestMatchResult() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classicu_1_1LocaleMatcher_1_1Result.html">Result</a> icu::LocaleMatcher::getBestMatchResult </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>desiredLocale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the best match between the desired locale and the supported locales. </p>
<p>If the result's desired locale is not nullptr, then it is the address of the input locale. It has not been cloned.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desiredLocale</td><td>Typically a user's language. </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the best-matching pair of the desired and a supported locale. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000321">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<a id="a49a76e6e34a90914f6a116c4739dcf13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49a76e6e34a90914f6a116c4739dcf13">&#9670;&nbsp;</a></span>getBestMatchResult() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classicu_1_1LocaleMatcher_1_1Result.html">Result</a> icu::LocaleMatcher::getBestMatchResult </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1Locale_1_1Iterator.html">Locale::Iterator</a> &amp;&#160;</td>
          <td class="paramname"><em>desiredLocales</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the best match between the desired and supported locales. </p>
<p>If the result's desired locale is not nullptr, then it is a clone of the best-matching desired locale. The <a class="el" href="classicu_1_1LocaleMatcher_1_1Result.html" title="Data for the best-matching pair of a desired and a supported locale.">Result</a> object owns the clone.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desiredLocales</td><td>Typically a user's languages, in order of preference (descending). </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the best-matching pair of a desired and a supported locale. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000322">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<a id="a53a02812891894bdfdbd558f183692c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53a02812891894bdfdbd558f183692c8">&#9670;&nbsp;</a></span>internalMatch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double icu::LocaleMatcher::internalMatch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>desired</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>supported</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a fraction between 0 and 1, where 1 means that the languages are a perfect match, and 0 means that they are completely different. </p>
<p>This is mostly an implementation detail, and the precise values may change over time. The implementation may use either the maximized forms or the others ones, or both. The implementation may or may not rely on the forms to be consistent with each other.</p>
<p>Callers should construct and use a matcher rather than match pairs of locales directly.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desired</td><td>Desired locale. </td></tr>
    <tr><td class="paramname">supported</td><td>Supported locale. </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value between 0 and 1, inclusive. </dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000048">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. (has a known user) </dd></dl>

</div>
</div>
<a id="a378c18e66f136e914cc1edcdb0c6a352"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a378c18e66f136e914cc1edcdb0c6a352">&#9670;&nbsp;</a></span>isMatch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> icu::LocaleMatcher::isMatch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>desired</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classicu_1_1Locale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>supported</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>errorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns true if the pair of locales matches acceptably. </p>
<p>This is influenced by <a class="el" href="classicu_1_1LocaleMatcher_1_1Builder.html" title="LocaleMatcher builder.">Builder</a> options such as setDirection(), setFavorSubtag(), and setMaxDistance().</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">desired</td><td>The desired locale. </td></tr>
    <tr><td class="paramname">supported</td><td>The supported locale. </td></tr>
    <tr><td class="paramname">errorCode</td><td>ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the pair of locales matches acceptably. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000323">Stable:</a></b></dt><dd>ICU 68 </dd></dl>

</div>
</div>
<a id="ac8c76eeceb854e2edb1bf5882015f95b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8c76eeceb854e2edb1bf5882015f95b">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a>&amp; icu::LocaleMatcher::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1LocaleMatcher.html">LocaleMatcher</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move assignment operator; might modify the source. </p>
<p>This matcher will have the same settings that the source matcher had. The behavior is undefined if *this and src are the same object. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>source matcher </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000317">Stable:</a></b></dt><dd>ICU 65 </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>common/unicode/<a class="el" href="localematcher_8h_source.html">localematcher.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>