$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: williamkempf_at_[hidden]
Date: 2001-03-22 11:14:35
--- In boost_at_y..., williamkempf_at_h... wrote:
> The only suggestion left to 
> contemplate at this time is the addition of a lock traits concept.
I've been thinking about this, but haven't coded anything up yet. Let 
me ramble on about an implementation.
namespace boost {
  struct lock_tag { }
  struct trylock_tag { }
  struct timedlock_tag { }
  template <typename L>
  struct lock_traits
  {
    typedef ... lock_category;
  };
};
I can't see any other information that would go into a lock_traits 
type.  Is there some useful type information that I'm not thinking of 
that should go in here?
Also, one of the suggestions was to use a lock_category type that 
allows further decoupling of the lock types from the mutex types.  
Usage was like this:
boost::lock_category<boost::mutex>::trylock lock(mx);
The problem with this is that there's not a one-to-one correspondance 
of lock types to mutex types here.  For instance, the 
boost::fast_mutex doesn't have a trylock type.  I can think of a few 
ways to deal with this but was interested in hearing other's thoughts 
on this and wondering if there's existing practice for this sort of 
thing.
Bill Kempf