atomic_fetch_sub_explicit Function

Subtracts a value from an existing value that is stored in an atomic object.

template <class T> T* atomic_fetch_sub_explicit(
   volatile atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

template <class T> T* atomic_fetch_sub_explicit(
   atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

Atom

A pointer to an atomic object that stores a pointer to type T.

Value

A value of type ptrdiff_t.

The value of the pointer contained by the atomic object immediately before the operation was performed.

The atomic_fetch_sub_explicit function performs a read-modify-write operation to atomically subtract Value from the stored value in Atom, within the memory_order constraints that are specified by Order.

When the atomic type is atomic_address, Value has type ptrdiff_t and the operation treats the stored pointer as a char *.

This operation is also overloaded for integral types:

integral atomic_fetch_sub_explicit(
    volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

integral atomic_fetch_sub_explicit(
    atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

Header: atomic

Namespace: std

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft