cpp/atomic/atomic fetch and

Atomically replaces the value pointed by with the result of bitwise AND between the old value of  and. Returns the value held previously.

The operation is performed as if the following is executed:

@1@

@2@

If has no  member (this member is only provided for ), the program is ill-formed.

Return value
The value immediately preceding the effects of this function in the modification order of.