#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_TEXT_ENCODING_TABLES_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_TEXT_ENCODING_TABLES_H_
#include <algorithm>
#include <array>
#include <iterator>
#include <optional>
#include <utility>
#include "base/dcheck_is_on.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_uchar.h"
#include "third_party/blink/renderer/platform/wtf/wtf_export.h"
namespace WTF {
constexpr size_t kJis0208EncodeIndexSize = …;
Jis0208EncodeIndex;
const WTF_EXPORT Jis0208EncodeIndex& EnsureJis0208EncodeIndexForEncode();
const WTF_EXPORT Jis0208EncodeIndex& EnsureJis0208EncodeIndexForDecode();
constexpr size_t kJis0212EncodeIndexSize = …;
Jis0212EncodeIndex;
const WTF_EXPORT Jis0212EncodeIndex& EnsureJis0212EncodeIndexForEncode();
const WTF_EXPORT Jis0212EncodeIndex& EnsureJis0212EncodeIndexForDecode();
constexpr size_t kEucKrEncodeIndexSize = …;
EucKrEncodeIndex;
const WTF_EXPORT EucKrEncodeIndex& EnsureEucKrEncodeIndexForEncode();
const WTF_EXPORT EucKrEncodeIndex& EnsureEucKrEncodeIndexForDecode();
constexpr size_t kGb18030EncodeIndexSize = …;
Gb18030EncodeIndex;
Gb18030EncodeTable;
const WTF_EXPORT Gb18030EncodeIndex& EnsureGb18030EncodeIndexForEncode();
const WTF_EXPORT Gb18030EncodeTable& EnsureGb18030EncodeTable();
struct CompareFirst { … };
struct EqualFirst { … };
struct CompareSecond { … };
template <typename T>
struct FirstAdapter { … };
template <typename T>
FirstAdapter<T> MakeFirstAdapter(const T& value) { … }
template <typename T>
struct SecondAdapter { … };
template <typename T>
SecondAdapter<T> MakeSecondAdapter(const T& value) { … }
template <typename CollectionType>
bool SortedFirstsAreUnique(const CollectionType& collection) { … }
template <typename CollectionType, typename KeyType>
static auto FindFirstInSortedPairs(const CollectionType& collection,
const KeyType& key)
-> std::optional<decltype(std::begin(collection)->second)> { … }
template <typename CollectionType, typename KeyType>
static auto FindInSortedPairs(const CollectionType& collection,
const KeyType& key)
-> std::pair<decltype(std::begin(collection)),
decltype(std::begin(collection))> { … }
}
#endif