paryfor.hpp
// The special member functions are not thread-safe.
The special member functions are not thread-safe.
The special member functions are not thread - safe .
AtomicQueueB(unsigned size)
        : size_(std::max(details::round_up_to_power_of_2(size), 1u << (SHUFFLE_BITS * 2)))
        , elements_(AllocatorElements::allocate(size_)) {
        assert(std::atomic<T>{NIL}.is_lock_free()); 
        for(auto p = elements_, q = elements_ + size_; p < q; ++p)
            p->store(NIL, X);
    }
AtomicQueueB ( unsigned size ) : size_ ( std :: max ( details :: round_up_to_power_of_2 ( size ) , 1u << ( SHUFFLE_BITS * 2 ) ) ) , elements_ ( AllocatorElements :: allocate ( size_ ) ) { assert ( std :: atomic < T > { NIL } . is_lock_free ( ) ) ; for ( auto p = elements_ , q = elements_ + size_ ; p < q ; ++ p ) p -> store ( NIL , X ) ; }
The special member functions are not thread-safe.
The special member functions are not thread - safe .
// This queue is for atomic elements only. AtomicQueueB2 is for non-atomic ones.