#include <mutex> //unique_lock
#include <cds/details/allocator.h>
#include <cds/algo/int_algo.h>
-#include <boost/mpl/if.hpp>
namespace cds { namespace lock {
can be simultaneous.
Template arguments:
- - \p Lock - lock type, for example, \p boost::mutex, \p cds::lock::Spinlock
+ - \p Lock - lock type, for example, \p std::mutex, \p cds::lock::Spinlock
- \p SelectPolicy - array cell selection policy, the default is \ref mod_select_policy
Available policies: \ref trivial_select_policy, \ref pow2_select_policy, \ref mod_select_policy.
- \p Alloc - memory allocator for array
The default value of template argument \p Functor is \p cds::opt::v::hash
that is synonym for <tt>std::hash</tt> implementation of standard library.
- If standard C++ library of the compiler you use does not provide TR1 implementation
- the \p cds library automatically selects <tt>boost::hash</tt>.
*/
template <typename Functor>
struct hash {