]> granicus.if.org Git - icu/commitdiff
ICU-13411 Additional fix for template exports.
authorJeff Genovy <29107334+jefgen@users.noreply.github.com>
Wed, 25 Oct 2017 17:11:37 +0000 (17:11 +0000)
committerJeff Genovy <29107334+jefgen@users.noreply.github.com>
Wed, 25 Oct 2017 17:11:37 +0000 (17:11 +0000)
X-SVN-Rev: 40635

icu4c/source/i18n/number_decimfmtprops.h
icu4c/source/i18n/number_patternmodifier.h

index a179d0876ab5297300732f3e385393deff194f1f..d144dfb71b3306d8b4c522724c81d492e10eb62a 100644 (file)
@@ -16,8 +16,6 @@
 #include "number_types.h"
 
 U_NAMESPACE_BEGIN
-namespace number {
-namespace impl {
 
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of CurrencyPluralInfoWrapper.
@@ -25,10 +23,13 @@ namespace impl {
 #if defined (_MSC_VER)
 // Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
 #pragma warning(suppress: 4661)
-template class U_I18N_API LocalPointerBase<CurrencyPluralInfo>;
-template class U_I18N_API LocalPointer<CurrencyPluralInfo>;
+template class U_I18N_API LocalPointerBase<number::impl::CurrencyPluralInfo>;
+template class U_I18N_API LocalPointer<number::impl::CurrencyPluralInfo>;
 #endif
 
+namespace number {
+namespace impl {
+
 // TODO: Figure out a nicer way to deal with CurrencyPluralInfo.
 // Exported as U_I18N_API because it is a public member field of exported DecimalFormatProperties
 struct U_I18N_API CurrencyPluralInfoWrapper {
index 3679ad1f9ff479cf240530fe4b168a604ca79d98..705037f0ba71733c64caba065004a674040fb2be 100644 (file)
 #include "number_utils.h"
 
 U_NAMESPACE_BEGIN
-namespace number {
-namespace impl {
-
-// Forward declaration
-class MutablePatternModifier;
 
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of ParameterizedModifier.
@@ -27,10 +22,16 @@ class MutablePatternModifier;
 #if defined (_MSC_VER)
 // Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
 #pragma warning(suppress: 4661)
-template class U_I18N_API LocalPointerBase<ParameterizedModifier>;
-template class U_I18N_API LocalPointer<ParameterizedModifier>;
+template class U_I18N_API LocalPointerBase<number::impl::ParameterizedModifier>;
+template class U_I18N_API LocalPointer<number::impl::ParameterizedModifier>;
 #endif
 
+namespace number {
+namespace impl {
+
+// Forward declaration
+class MutablePatternModifier;
+
 // Exported as U_I18N_API because it is needed for the unit test PatternModifierTest
 class U_I18N_API ImmutablePatternModifier : public MicroPropsGenerator, public UMemory {
   public: