#include "unicode/utypes.h"
#include "unicode/localpointer.h"
#include "unicode/locid.h"
#include "unicode/stringpiece.h"
#include "unicode/uobject.h"
#include "charstr.h"
#include "cmemory.h"
#include "localeprioritylist.h"
#include "uarrsort.h"
#include "uassert.h"
#include "uhash.h"
U_NAMESPACE_BEGIN
namespace {
int32_t hashLocale(const UHashTok token) { … }
UBool compareLocales(const UHashTok t1, const UHashTok t2) { … }
constexpr int32_t WEIGHT_ONE = …;
struct LocaleAndWeight { … };
int32_t U_CALLCONV
compareLocaleAndWeight(const void * , const void *left, const void *right) { … }
const char *skipSpaces(const char *p, const char *limit) { … }
int32_t findTagLength(const char *p, const char *limit) { … }
int32_t parseWeight(const char *&p, const char *limit) { … }
}
struct LocaleAndWeightArray : public UMemory { … };
LocalePriorityList::LocalePriorityList(StringPiece s, UErrorCode &errorCode) { … }
LocalePriorityList::~LocalePriorityList() { … }
const Locale *LocalePriorityList::localeAt(int32_t i) const { … }
Locale *LocalePriorityList::orphanLocaleAt(int32_t i) { … }
bool LocalePriorityList::add(const Locale &locale, int32_t weight, UErrorCode &errorCode) { … }
void LocalePriorityList::sort(UErrorCode &errorCode) { … }
U_NAMESPACE_END