Am new to C++ 11 and using threading. I came across a scenario where it's not possible to copy mutex & condition variable objects. The code is like this....
class producer {
public:
producer(mutex m, condition_variable cv)
{
mut = m; // ERROR
cvar = cv; // ERROR
}
private:
mutex mut;
condition_variable cvar;
}
When trying to copy the variables in constructor it's giving the error. Seems like copy constructor is set to delete for mutex and cv.
Is there a way to overcome that? I want a producer & consumer class and then pass the mutex & cv from the main function.
so basically the call from main function should look like....
int main ()
{
mutex m;
condition_variable cv;
//Initialize mutex & cv
producer prod(m, cv);
}