From: Jeff Genovy <29107334+jefgen@users.noreply.github.com> Date: Wed, 2 May 2018 07:51:55 +0000 (+0000) Subject: ICU-13725 Fix more of the C4251 warnings. X-Git-Tag: release-62-rc~168 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a5349eaae1b290a292d8cfe4dbe1d91716740b9;p=icu ICU-13725 Fix more of the C4251 warnings. X-SVN-Rev: 41307 --- diff --git a/icu4c/source/i18n/number_decimfmtprops.h b/icu4c/source/i18n/number_decimfmtprops.h index 945cfd4195a..05788dbe363 100644 --- a/icu4c/source/i18n/number_decimfmtprops.h +++ b/icu4c/source/i18n/number_decimfmtprops.h @@ -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; template class U_I18N_API LocalPointer; #endif -namespace number { -namespace impl { - // Exported as U_I18N_API because it is a public member field of exported DecimalFormatProperties template struct U_I18N_API CopyableLocalPointer { diff --git a/icu4c/source/i18n/numparse_affixes.h b/icu4c/source/i18n/numparse_affixes.h index 5318cf6d41c..0d4ab953f2d 100644 --- a/icu4c/source/i18n/numparse_affixes.h +++ b/icu4c/source/i18n/numparse_affixes.h @@ -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; template class U_I18N_API CompactUnicodeString<4>; #endif diff --git a/icu4c/source/i18n/numparse_symbols.h b/icu4c/source/i18n/numparse_symbols.h index 9cd69ffb8dd..df87de69f18 100644 --- a/icu4c/source/i18n/numparse_symbols.h +++ b/icu4c/source/i18n/numparse_symbols.h @@ -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