--- source/common/umutex.h +++ source/common/umutex.h @@ -54,15 +54,15 @@ #include -U_NAMESPACE_BEGIN - // Export an explicit template instantiation of std::atomic. // When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class. // See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples. #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN template struct U_COMMON_API std::atomic; #endif +U_NAMESPACE_BEGIN + typedef std::atomic u_atomic_int32_t; #define ATOMIC_INT32_T_INITIALIZER(val) ATOMIC_VAR_INIT(val) --- source/i18n/unicode/numberrangeformatter.h +++ source/i18n/unicode/numberrangeformatter.h @@ -186,7 +186,13 @@ * (When building DLLs for Windows this is required.) */ #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN) -template struct U_I18N_API std::atomic; +} // namespace number +U_NAMESPACE_END + +template struct U_I18N_API std::atomic< U_NAMESPACE_QUALIFIER number::impl::NumberRangeFormatterImpl*>; + +U_NAMESPACE_BEGIN +namespace number { // icu::number #endif /** \endcond */