14 Jul 17:35
Re: [thread] lockable traits and concepts classes addingproposal
From: Anthony Williams <anthony.ajw <at> gmail.com>
Subject: Re: [thread] lockable traits and concepts classes addingproposal
Newsgroups: gmane.comp.lib.boost.devel
Date: 2008-07-14 15:35:21 GMT
Subject: Re: [thread] lockable traits and concepts classes addingproposal
Newsgroups: gmane.comp.lib.boost.devel
Date: 2008-07-14 15:35:21 GMT
"vicente.botet" <vicente.botet <at> wanadoo.fr> writes: >> Frank Mori Hess <frank.hess <at> nist.gov> writes: >> >>> On Friday 16 May 2008 16:45 pm, vicente.botet wrote: >>>> While writtig a generic library I have needed some lockable traits >>>> and concepts to be chacked with BCCL. >>>> >>>> If you think that these classes are of general use it will be a pleasure >>>> for me, if Anthony accepts, to included them on the Boost.Thread >>>> library. >>> >>> I haven't gone over your proposal in detail, but I for one agree >>> some kind of >>> traits for mutex classes would be useful. I had to do something similar, >>> defining a mutex_properties template class and giving >>> specializations for all >>> the boost.thread mutex types: >>> >>> http://www.comedi.org/projects/libpoet/boostbook/doc/boostbook/html/poet/mutex_properties.html >> >> I hadn't thought about it before Vicente's suggestion, but it could >> be useful. > > Hi Frank, Anthony, > > Have you taken the time to see my proposal? It will be a pleasure for > me to know what do you think. The current implementation of boost.thread provides the boost::is_mutex_type (in boost/thread/locks.hpp), which is currently used to decide whether lock(a,b) is a call to lock two mutexes or to lock a range. The trait is true if the type provides lock(), unlock() and try_lock() member functions. At some point I will add another trait which includes timed_lock, and another for shared_lock. Recursive vs non-recursive cannot be detected, so would have to be implemented either by specialization of a traits class (as per libpoet) or by a member flag (such as mutex::is_recursive). Anthony -- -- Anthony Williams | Just Software Solutions Ltd Custom Software Development | http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
RSS Feed