Honeycomb  0.1
Component-Model Framework
Namespaces | Functions
Util.h File Reference
#include "Honey/Misc/Range.h"
#include "Honey/Thread/Lock/Unique.h"
Include dependency graph for Util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 honey
 Global Honeycomb namespace.
 
 honey::lock
 Mutex lock util.
 

Functions

template<class Lock , class... Locks, typename mt::disable_if< mt::isRange< Lock >::value, int >::type = 0>
int honey::lock::tryLock (Lock &l, Locks &...ls)
 Try to lock all lockables. Locks either all or none. More...
 
template<class Range , typename std::enable_if< mt::isRange< Range >::value, int >::type = 0>
auto honey::lock::tryLock (Range &&range) -> mt_iterOf(range)
 Try to lock all lockables in a range. Locks either all or none. More...
 
template<class... Locks, typename mt::disable_if< mt::isRange< mt::typeAt< 0, Locks... >>::value, int >::type = 0>
void honey::lock::lock (Locks &&...locks)
 Lock all lockables safely without deadlocking. More...
 
template<class Range , typename std::enable_if< mt::isRange< Range >::value, int >::type = 0>
void honey::lock::lock (Range &&range)
 Lock all lockables in a range safely without deadlocking. More...