| 612 | //------------------------------------------------------------------------ |
| 613 | |
| 614 | void concurrent_queue_iterator_base_v3::initialize( const concurrent_queue_base& queue, size_t offset_of_last ) { |
| 615 | my_rep = cache_aligned_allocator<concurrent_queue_iterator_rep>().allocate(1); |
| 616 | new( my_rep ) concurrent_queue_iterator_rep(queue,offset_of_last); |
| 617 | size_t k = my_rep->head_counter; |
| 618 | if( !my_rep->get_item(my_item, k) ) advance(); |
| 619 | } |
| 620 | |
| 621 | concurrent_queue_iterator_base_v3::concurrent_queue_iterator_base_v3( const concurrent_queue_base& queue ) { |
| 622 | initialize(queue,0); |