mirror of
https://github.com/opencv/opencv.git
synced 2025-06-08 01:53:19 +08:00
Merge pull request #12658 from chacha21:clr-mutex
* hide use of std::mutex from /clr compilation under Visual Studio C++11 <mutex> is not available when compiling with /clr under Visual Studio, thus opencv cannot be easily included. It is fixed by making a CEEMutex wrapper class, around an opaque implementation using std::mutex internally * fixed compilation outside of Visual Studio fixed compilation outside of Visual Studio by avoiding some macros * fixed indentation, prepare getting rid of CEEMutex/CEELockGuard fixed indentation After discussion, CEEMutex and CEELockGuard can be totally removed, letting the developer in a /clr context to provide his own implementation * remove CEEMutex/CEELockGuard
This commit is contained in:
parent
83efde6243
commit
9524abcd28
@ -58,7 +58,9 @@
|
||||
|
||||
#include <functional>
|
||||
|
||||
#if !defined(_M_CEE)
|
||||
#include <mutex> // std::mutex, std::lock_guard
|
||||
#endif
|
||||
|
||||
namespace cv
|
||||
{
|
||||
@ -674,8 +676,10 @@ void Mat::forEach_impl(const Functor& operation) {
|
||||
|
||||
/////////////////////////// Synchronization Primitives ///////////////////////////////
|
||||
|
||||
#if !defined(_M_CEE)
|
||||
typedef std::recursive_mutex Mutex;
|
||||
typedef std::lock_guard<cv::Mutex> AutoLock;
|
||||
#endif
|
||||
|
||||
// TLS interface
|
||||
class CV_EXPORTS TLSDataContainer
|
||||
|
Loading…
Reference in New Issue
Block a user