SH
Size: a a a
SH
D
AK
m
bind не нужен, но иногда его синтаксис удобнее и компактнее чем лямбды. В прочем для простых случае теперь есть bind_front.S
IZ
D
CD
D
CD
CD
D
D
_InterlockedExchange() для store(), _InterlockedCompareExchange для load())CD
_InterlockedExchange() для store(), _InterlockedCompareExchange для load())CD
D
CD
D
head == current_head => "голова" на месте(head==tail) => очередь не пуста value = next_ptr->value => считали значениеcas_weak_helper(m_head.get_ptr(), head, new_head) => если true, то голова все еще наша, считанное значение валидноCD
head == current_head => "голова" на месте(head==tail) => очередь не пуста value = next_ptr->value => считали значениеcas_weak_helper(m_head.get_ptr(), head, new_head) => если true, то голова все еще наша, считанное значение валидно