#include "unicode/utypes.h"
#include "unicode/bytestrie.h"
#include "unicode/bytestriebuilder.h"
#include "unicode/stringpiece.h"
#include "charstr.h"
#include "cmemory.h"
#include "uhash.h"
#include "uarrsort.h"
#include "uassert.h"
#include "ustr_imp.h"
U_NAMESPACE_BEGIN
class BytesTrieElement : public UMemory { … };
void
BytesTrieElement::setTo(StringPiece s, int32_t val,
CharString &strings, UErrorCode &errorCode) { … }
int32_t
BytesTrieElement::compareStringTo(const BytesTrieElement &other, const CharString &strings) const { … }
BytesTrieBuilder::BytesTrieBuilder(UErrorCode &errorCode)
: … { … }
BytesTrieBuilder::~BytesTrieBuilder() { … }
BytesTrieBuilder &
BytesTrieBuilder::add(StringPiece s, int32_t value, UErrorCode &errorCode) { … }
U_CDECL_BEGIN
static int32_t U_CALLCONV
compareElementStrings(const void *context, const void *left, const void *right) { … }
U_CDECL_END
BytesTrie *
BytesTrieBuilder::build(UStringTrieBuildOption buildOption, UErrorCode &errorCode) { … }
StringPiece
BytesTrieBuilder::buildStringPiece(UStringTrieBuildOption buildOption, UErrorCode &errorCode) { … }
void
BytesTrieBuilder::buildBytes(UStringTrieBuildOption buildOption, UErrorCode &errorCode) { … }
BytesTrieBuilder &
BytesTrieBuilder::clear() { … }
int32_t
BytesTrieBuilder::getElementStringLength(int32_t i) const { … }
char16_t
BytesTrieBuilder::getElementUnit(int32_t i, int32_t byteIndex) const { … }
int32_t
BytesTrieBuilder::getElementValue(int32_t i) const { … }
int32_t
BytesTrieBuilder::getLimitOfLinearMatch(int32_t first, int32_t last, int32_t byteIndex) const { … }
int32_t
BytesTrieBuilder::countElementUnits(int32_t start, int32_t limit, int32_t byteIndex) const { … }
int32_t
BytesTrieBuilder::skipElementsBySomeUnits(int32_t i, int32_t byteIndex, int32_t count) const { … }
int32_t
BytesTrieBuilder::indexOfElementWithNextUnit(int32_t i, int32_t byteIndex, char16_t byte) const { … }
BytesTrieBuilder::BTLinearMatchNode::BTLinearMatchNode(const char *bytes, int32_t len, Node *nextNode)
: … { … }
bool
BytesTrieBuilder::BTLinearMatchNode::operator==(const Node &other) const { … }
void
BytesTrieBuilder::BTLinearMatchNode::write(StringTrieBuilder &builder) { … }
StringTrieBuilder::Node *
BytesTrieBuilder::createLinearMatchNode(int32_t i, int32_t byteIndex, int32_t length,
Node *nextNode) const { … }
UBool
BytesTrieBuilder::ensureCapacity(int32_t length) { … }
int32_t
BytesTrieBuilder::write(int32_t byte) { … }
int32_t
BytesTrieBuilder::write(const char *b, int32_t length) { … }
int32_t
BytesTrieBuilder::writeElementUnits(int32_t i, int32_t byteIndex, int32_t length) { … }
int32_t
BytesTrieBuilder::writeValueAndFinal(int32_t i, UBool isFinal) { … }
int32_t
BytesTrieBuilder::writeValueAndType(UBool hasValue, int32_t value, int32_t node) { … }
int32_t
BytesTrieBuilder::writeDeltaTo(int32_t jumpTarget) { … }
int32_t
BytesTrieBuilder::internalEncodeDelta(int32_t i, char intBytes[]) { … }
U_NAMESPACE_END