Lines Matching +full:windows +full:- +full:vs2019
5 * Copyright (C) 1997-2015, International Business Machines
15 * 04/07/99 srl rewrite - C interface, multiple mutices
36 // See issue ICU-20185.
41 // When building DLLs for Windows this is required as it is used as a data member of the exported S…
50 #pragma clang diagnostic ignored "-Winstantiation-after-specialization"
84 return var->fetch_add(1) + 1;
88 return var->fetch_sub(1) - 1;
115 (obj->*fp)();
183 // UMutex should be constexpr-constructible, so that no initialization code
185 // This works on all C++ libraries except MS VS before VS2019.
188 // (VS std lib older than VS2017) || (VS std lib version < VS2019)
195 * UMutex - ICU Mutex class.
199 * - Static instances are safe, not triggering static construction or destruction,
201 * - Plumbed into u_cleanup() for destructing the underlying std::mutex,
205 * - Static or global instances only. Cannot be heap allocated. Cannot appear as a
207 * - No condition variables or other advanced features. If needed, you will need to use
232 m->lock();
234 void unlock() { fMutex.load(std::memory_order_relaxed)->unlock(); }
248 /** Out-of-line function to lazily initialize a UMutex on first use.