1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // © 2016 and later: Unicode, Inc. and others.
- // License & terms of use: http://www.unicode.org/copyright.html
- /*
- *******************************************************************************
- * Copyright (C) 2011, International Business Machines
- * Corporation and others. All Rights Reserved.
- *******************************************************************************
- * file name: messageimpl.h
- * encoding: UTF-8
- * tab size: 8 (not used)
- * indentation:4
- *
- * created on: 2011apr04
- * created by: Markus W. Scherer
- */
- #ifndef __MESSAGEIMPL_H__
- #define __MESSAGEIMPL_H__
- #include "unicode/utypes.h"
- #if !UCONFIG_NO_FORMATTING
- #include "unicode/messagepattern.h"
- U_NAMESPACE_BEGIN
- /**
- * Helper functions for use of MessagePattern.
- * In Java, these are package-private methods in MessagePattern itself.
- * In C++, they are declared here and implemented in messagepattern.cpp.
- */
- class U_COMMON_API MessageImpl {
- public:
- /**
- * @return TRUE if getApostropheMode()==UMSGPAT_APOS_DOUBLE_REQUIRED
- */
- static UBool jdkAposMode(const MessagePattern &msgPattern) {
- return msgPattern.getApostropheMode()==UMSGPAT_APOS_DOUBLE_REQUIRED;
- }
- /**
- * Appends the s[start, limit[ substring to sb, but with only half of the apostrophes
- * according to JDK pattern behavior.
- */
- static void appendReducedApostrophes(const UnicodeString &s, int32_t start, int32_t limit,
- UnicodeString &sb);
- /**
- * Appends the sub-message to the result string.
- * Omits SKIP_SYNTAX and appends whole arguments using appendReducedApostrophes().
- */
- static UnicodeString &appendSubMessageWithoutSkipSyntax(const MessagePattern &msgPattern,
- int32_t msgStart,
- UnicodeString &result);
- private:
- MessageImpl(); // no constructor: all static methods
- };
- U_NAMESPACE_END
- #endif // !UCONFIG_NO_FORMATTING
- #endif // __MESSAGEIMPL_H__
|