mirror of
https://github.com/opencv/opencv.git
synced 2025-06-10 02:53:07 +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>
|
#include <functional>
|
||||||
|
|
||||||
|
#if !defined(_M_CEE)
|
||||||
#include <mutex> // std::mutex, std::lock_guard
|
#include <mutex> // std::mutex, std::lock_guard
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace cv
|
namespace cv
|
||||||
{
|
{
|
||||||
@ -674,8 +676,10 @@ void Mat::forEach_impl(const Functor& operation) {
|
|||||||
|
|
||||||
/////////////////////////// Synchronization Primitives ///////////////////////////////
|
/////////////////////////// Synchronization Primitives ///////////////////////////////
|
||||||
|
|
||||||
|
#if !defined(_M_CEE)
|
||||||
typedef std::recursive_mutex Mutex;
|
typedef std::recursive_mutex Mutex;
|
||||||
typedef std::lock_guard<cv::Mutex> AutoLock;
|
typedef std::lock_guard<cv::Mutex> AutoLock;
|
||||||
|
#endif
|
||||||
|
|
||||||
// TLS interface
|
// TLS interface
|
||||||
class CV_EXPORTS TLSDataContainer
|
class CV_EXPORTS TLSDataContainer
|
||||||
|
Loading…
Reference in New Issue
Block a user