6 void lock_multiple(std::initializer_list
<lock
*> locks
)
10 uintptr_t minaddr
= 0;
13 uintptr_t addr
= reinterpret_cast<uintptr_t>(i
);
14 if(addr
< minaddr
&& addr
> next
) {
19 //If no more locks, exit.
26 //Unlock all locks we got.
28 uintptr_t addr
= reinterpret_cast<uintptr_t>(i
);
37 template<typename T
> void _unlock_multiple(T locks
)
41 uintptr_t minaddr
= 0;
44 uintptr_t addr
= reinterpret_cast<uintptr_t>(i
);
45 if(addr
< minaddr
&& addr
> next
) {
50 //If no more locks, exit.
58 void unlock_multiple(std::initializer_list
<lock
*> locks
) { _unlock_multiple(locks
); }
59 void unlock_multiple(std::vector
<lock
*> locks
) { _unlock_multiple(locks
); }