]> granicus.if.org Git - icu/commitdiff
ICU-13725 Fix more of the C4251 warnings.
authorJeff Genovy <29107334+jefgen@users.noreply.github.com>
Wed, 2 May 2018 07:51:55 +0000 (07:51 +0000)
committerJeff Genovy <29107334+jefgen@users.noreply.github.com>
Wed, 2 May 2018 07:51:55 +0000 (07:51 +0000)
X-SVN-Rev: 41307

icu4c/source/i18n/number_decimfmtprops.h
icu4c/source/i18n/numparse_affixes.h
icu4c/source/i18n/numparse_symbols.h

index 945cfd4195a6ee3aac8ad56162b2aeb341d978ba..05788dbe36369367263f415ff632db5fb78b7e7e 100644 (file)
@@ -17,6 +17,9 @@
 
 U_NAMESPACE_BEGIN
 
+namespace number {
+namespace impl {
+
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of CurrencyPluralInfoWrapper.
 // (When building DLLs for Windows this is required.)
@@ -27,9 +30,6 @@ template class U_I18N_API LocalPointerBase<CurrencyPluralInfo>;
 template class U_I18N_API LocalPointer<CurrencyPluralInfo>;
 #endif
 
-namespace number {
-namespace impl {
-
 // Exported as U_I18N_API because it is a public member field of exported DecimalFormatProperties
 template<typename T>
 struct U_I18N_API CopyableLocalPointer {
index 5318cf6d41cff47f5bab85f2ec0575d67130b59e..0d4ab953f2dfb059663a5f5472cde6854593db28 100644 (file)
@@ -163,9 +163,11 @@ class AffixPatternMatcherBuilder : public TokenConsumer, public MutableMatcherCo
 };
 
 // Export an explicit template instantiation of the CompactUnicodeString that is used as a data member of AffixPatternMatcher.
+// Also an explicit template instantiation of the MaybeStackArray that is used inside of the CompactUnicodeString.
 // When building DLLs for Windows this is required even though no direct access to the CompactUnicodeString leaks out of the i18n library.
 // (See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.)
 #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
+template class U_I18N_API MaybeStackArray<UChar, 4>;
 template class U_I18N_API CompactUnicodeString<4>;
 #endif
 
index 9cd69ffb8dda5007a2fb20649fd8c4f7599d584f..df87de69f1854b9484aecddee48eb2ac8fef0a6e 100644 (file)
@@ -134,8 +134,8 @@ class U_I18N_API PercentMatcher : public SymbolMatcher {
     void accept(StringSegment& segment, ParsedNumber& result) const override;
 };
 
-
-class PermilleMatcher : public SymbolMatcher {
+// Exported as U_I18N_API for tests
+class U_I18N_API PermilleMatcher : public SymbolMatcher {
   public:
     PermilleMatcher() = default;  // WARNING: Leaves the object in an unusable state