#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "unicode/messagepattern.h"
#include "unicode/unistr.h"
#include "unicode/utf16.h"
#include "cmemory.h"
#include "cstring.h"
#include "messageimpl.h"
#include "patternprops.h"
#include "putilimp.h"
#include "uassert.h"
U_NAMESPACE_BEGIN
static const char16_t u_pound= …;
static const char16_t u_apos= …;
static const char16_t u_plus= …;
static const char16_t u_comma= …;
static const char16_t u_minus= …;
static const char16_t u_dot= …;
static const char16_t u_colon= …;
static const char16_t u_lessThan= …;
static const char16_t u_equal= …;
static const char16_t u_A= …;
static const char16_t u_C= …;
static const char16_t u_D= …;
static const char16_t u_E= …;
static const char16_t u_H= …;
static const char16_t u_I= …;
static const char16_t u_L= …;
static const char16_t u_N= …;
static const char16_t u_O= …;
static const char16_t u_P= …;
static const char16_t u_R= …;
static const char16_t u_S= …;
static const char16_t u_T= …;
static const char16_t u_U= …;
static const char16_t u_Z= …;
static const char16_t u_a= …;
static const char16_t u_c= …;
static const char16_t u_d= …;
static const char16_t u_e= …;
static const char16_t u_f= …;
static const char16_t u_h= …;
static const char16_t u_i= …;
static const char16_t u_l= …;
static const char16_t u_n= …;
static const char16_t u_o= …;
static const char16_t u_p= …;
static const char16_t u_r= …;
static const char16_t u_s= …;
static const char16_t u_t= …;
static const char16_t u_u= …;
static const char16_t u_z= …;
static const char16_t u_leftCurlyBrace= …;
static const char16_t u_pipe= …;
static const char16_t u_rightCurlyBrace= …;
static const char16_t u_lessOrEqual= …;
static const char16_t kOffsetColon[]= …;
static const char16_t kOther[]= …;
template<typename T, int32_t stackCapacity>
class MessagePatternList : public UMemory { … };
template<typename T, int32_t stackCapacity>
void
MessagePatternList<T, stackCapacity>::copyFrom(
const MessagePatternList<T, stackCapacity> &other,
int32_t length,
UErrorCode &errorCode) { … }
template<typename T, int32_t stackCapacity>
UBool
MessagePatternList<T, stackCapacity>::ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode) { … }
class MessagePatternDoubleList : public MessagePatternList<double, 8> { … };
class MessagePatternPartsList : public MessagePatternList<MessagePattern::Part, 32> { … };
MessagePattern::MessagePattern(UErrorCode &errorCode)
: … { … }
MessagePattern::MessagePattern(UMessagePatternApostropheMode mode, UErrorCode &errorCode)
: … { … }
MessagePattern::MessagePattern(const UnicodeString &pattern, UParseError *parseError, UErrorCode &errorCode)
: … { … }
UBool
MessagePattern::init(UErrorCode &errorCode) { … }
MessagePattern::MessagePattern(const MessagePattern &other)
: … { … }
MessagePattern &
MessagePattern::operator=(const MessagePattern &other) { … }
UBool
MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode) { … }
MessagePattern::~MessagePattern() { … }
MessagePattern &
MessagePattern::parse(const UnicodeString &pattern, UParseError *parseError, UErrorCode &errorCode) { … }
MessagePattern &
MessagePattern::parseChoiceStyle(const UnicodeString &pattern,
UParseError *parseError, UErrorCode &errorCode) { … }
MessagePattern &
MessagePattern::parsePluralStyle(const UnicodeString &pattern,
UParseError *parseError, UErrorCode &errorCode) { … }
MessagePattern &
MessagePattern::parseSelectStyle(const UnicodeString &pattern,
UParseError *parseError, UErrorCode &errorCode) { … }
void
MessagePattern::clear() { … }
bool
MessagePattern::operator==(const MessagePattern &other) const { … }
int32_t
MessagePattern::hashCode() const { … }
int32_t
MessagePattern::validateArgumentName(const UnicodeString &name) { … }
UnicodeString
MessagePattern::autoQuoteApostropheDeep() const { … }
double
MessagePattern::getNumericValue(const Part &part) const { … }
double
MessagePattern::getPluralOffset(int32_t pluralStart) const { … }
bool
MessagePattern::Part::operator==(const Part &other) const { … }
void
MessagePattern::preParse(const UnicodeString &pattern, UParseError *parseError, UErrorCode &errorCode) { … }
void
MessagePattern::postParse() { … }
int32_t
MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
int32_t nestingLevel, UMessagePatternArgType parentType,
UParseError *parseError, UErrorCode &errorCode) { … }
int32_t
MessagePattern::parseArg(int32_t index, int32_t argStartLength, int32_t nestingLevel,
UParseError *parseError, UErrorCode &errorCode) { … }
int32_t
MessagePattern::parseSimpleStyle(int32_t index, UParseError *parseError, UErrorCode &errorCode) { … }
int32_t
MessagePattern::parseChoiceStyle(int32_t index, int32_t nestingLevel,
UParseError *parseError, UErrorCode &errorCode) { … }
int32_t
MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
int32_t index, int32_t nestingLevel,
UParseError *parseError, UErrorCode &errorCode) { … }
int32_t
MessagePattern::parseArgNumber(const UnicodeString &s, int32_t start, int32_t limit) { … }
void
MessagePattern::parseDouble(int32_t start, int32_t limit, UBool allowInfinity,
UParseError *parseError, UErrorCode &errorCode) { … }
int32_t
MessagePattern::skipWhiteSpace(int32_t index) { … }
int32_t
MessagePattern::skipIdentifier(int32_t index) { … }
int32_t
MessagePattern::skipDouble(int32_t index) { … }
UBool
MessagePattern::isArgTypeChar(UChar32 c) { … }
UBool
MessagePattern::isChoice(int32_t index) { … }
UBool
MessagePattern::isPlural(int32_t index) { … }
UBool
MessagePattern::isSelect(int32_t index) { … }
UBool
MessagePattern::isOrdinal(int32_t index) { … }
UBool
MessagePattern::inMessageFormatPattern(int32_t nestingLevel) { … }
UBool
MessagePattern::inTopLevelChoiceMessage(int32_t nestingLevel, UMessagePatternArgType parentType) { … }
void
MessagePattern::addPart(UMessagePatternPartType type, int32_t index, int32_t length,
int32_t value, UErrorCode &errorCode) { … }
void
MessagePattern::addLimitPart(int32_t start,
UMessagePatternPartType type, int32_t index, int32_t length,
int32_t value, UErrorCode &errorCode) { … }
void
MessagePattern::addArgDoublePart(double numericValue, int32_t start, int32_t length,
UErrorCode &errorCode) { … }
void
MessagePattern::setParseError(UParseError *parseError, int32_t index) { … }
void
MessageImpl::appendReducedApostrophes(const UnicodeString &s, int32_t start, int32_t limit,
UnicodeString &sb) { … }
UnicodeString &
MessageImpl::appendSubMessageWithoutSkipSyntax(const MessagePattern &msgPattern,
int32_t msgStart,
UnicodeString &result) { … }
U_NAMESPACE_END
#endif