summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/common/messageimpl.h
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /intl/icu/source/common/messageimpl.h
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'intl/icu/source/common/messageimpl.h')
-rw-r--r--intl/icu/source/common/messageimpl.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/intl/icu/source/common/messageimpl.h b/intl/icu/source/common/messageimpl.h
new file mode 100644
index 000000000..980f777e8
--- /dev/null
+++ b/intl/icu/source/common/messageimpl.h
@@ -0,0 +1,65 @@
+// Copyright (C) 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: US-ASCII
+* 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__