20 #include <type_traits> 22 #include <boost/iterator/iterator_adaptor.hpp> 26 template <
class BaseIter>
29 namespace bititerator_detail {
35 template <
class Ref,
class Value>
40 operator bool()
const {
73 template <
class BaseIter>
77 typename std::iterator_traits<BaseIter>::value_type>::
value,
78 "BitIterator may only be used with integral types");
79 typedef boost::iterator_adaptor<
85 typename std::iterator_traits<BaseIter>::reference,
86 typename std::iterator_traits<BaseIter>::value_type>,
BitReference & operator=(bool b)
boost::iterator_adaptor< BitIterator< BaseIter >, BaseIter, bool, boost::use_default, bititerator_detail::BitReference< typename std::iterator_traits< BaseIter >::reference, typename std::iterator_traits< BaseIter >::value_type >, ssize_t > type
—— Concurrent Priority Queue Implementation ——
internal::RefMatcher< T & > Ref(T &x)
bool Value(const T &value, M matcher)
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)
BitReference(Ref r, size_t bit)