$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Bronek Kozicki (brok_at_[hidden])
Date: 2004-07-22 16:21:17
Eric Niebler wrote:
> get a pointer to the mutex from the scoped_lock. You should get back a 
> token or a void* that is useful only for comparison purposes.
It just came to my mind that if we decide to add common base class, such 
void* could be returned there. Thus it would look something like:
class lock
{
   bool* active_;
   void* mutex_;
protected:
   ~lock() {} // no-op
   lock(bool* active, void* mutex) : active_(active), mutex_(mutex)
     {assert(active_ != NULL); assert(mutex_ != NULL);}
   lock(const lock& src) : active_(src.active_)
     {assert(src.mutex_ == mutex_);}
public:
   bool active() const {return *active_;}
   void* mutex() const {return mutex_;}
// or just polymorphic functions:
//  virtual bool active() const = 0;
//  virtual void* mutex() const = 0;
   operator safe_bool() const {return active() ? safe_true : safe_false;}
};
Actually "mutex" can be renamed here to "handle" or "primitive" ...
B.