<atomic>
– funkce
atomic_compare_exchange_strong
atomic_compare_exchange_strong_explicit
atomic_compare_exchange_weak
atomic_compare_exchange_weak_explicit
atomic_exchange
atomic_exchange_explicit
atomic_fetch_add
atomic_fetch_add_explicit
atomic_fetch_and
atomic_fetch_and_explicit
atomic_fetch_or
atomic_fetch_or_explicit
atomic_fetch_sub
atomic_fetch_sub_explicit
atomic_fetch_xor
atomic_fetch_xor_explicit
atomic_flag_clear
atomic_flag_clear_explicit
atomic_flag_test_and_set
atomic_flag_test_and_set_explicit
atomic_init
atomic_is_lock_free
atomic_load
atomic_load_explicit
atomic_signal_fence
atomic_store
atomic_store_explicit
atomic_thread_fence
kill_dependency
atomic_compare_exchange_strong
Provede atomické operace porovnání a výměny.
template <class Ty>
inline bool atomic_compare_exchange_strong(
volatile atomic<Ty>* Atom,
Ty* Exp,
Value) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_strong(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Exp
Ukazatel na hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Návratová hodnota
true
pokud jsou hodnoty stejné, jinak false
.
Poznámky
Tato metoda provádí atomické operace porovnání a výměny pomocí implicitních memory_order.memory_order_seq_cst
argumentů. Další informace najdete na webu atomic_compare_exchange_strong_explicit
.
atomic_compare_exchange_strong_explicit
atomic compare and exchange
Provede operaci.
template <class T>
inline bool atomic_compare_exchange_strong_explicit(
volatile atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_strong_explicit(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Exp
Ukazatel na hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Order1
První memory_order
argument.
Order2
Druhý memory_order
argument. Hodnota Order2
nemůže být memory_order_release
nebo memory_order_acq_rel
, nemůže být silnější než hodnota Order1
.
Návratová hodnota
true
pokud jsou hodnoty stejné, jinak false
.
Poznámky
Porovná atomic compare and exchange operation
hodnotu uloženou v objektu, který je odkazován na Atom
hodnotu, na kterou odkazuje Exp
. Pokud jsou hodnoty stejné, hodnota uložená v objektu, na který Atom
odkazuje, je nahrazena Value
pomocí operace čtení-úpravy zápisu a použití omezení pořadí paměti, která jsou určena Order1
. Pokud hodnoty nejsou stejné, operace nahradí hodnotu, na kterou odkazuje Exp
hodnota uložená v objektu, na který odkazuje Atom
, a použije omezení pořadí paměti, která jsou určena Order2
.
atomic_compare_exchange_weak
Provede slabou atomickou operaci porovnání a výměny .
template <class Ty>
inline bool atomic_compare_exchange_strong(
volatile atomic<Ty>* Atom,
Ty* Exp,
Ty Value) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_strong(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Exp
Ukazatel na hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Návratová hodnota
true
pokud jsou hodnoty stejné, jinak false
.
Poznámky
Tato metoda provádí slabou atomické porovnání a operaci výměny, která má implicitní memory_order.memory_order_seq_cst
argumenty. Další informace najdete na webu atomic_compare_exchange_weak_explicit
.
atomic_compare_exchange_weak_explicit
Provede slabou atomickou operaci porovnání a výměny .
template <class Ty>
inline bool atomic_compare_exchange_weak_explicit(
volatile atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_weak_explicit(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Exp
Ukazatel na hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Order1
První memory_order
argument.
Order2
Druhý memory_order
argument. Hodnota Order2
nemůže být memory_order_release
nebo memory_order_acq_rel
, ani nemůže být silnější než hodnota Order1
.
Návratová hodnota
true
pokud jsou hodnoty stejné, jinak false
.
Poznámky
Silná i slabá příchuť atomic compare and exchange operation
záruky, že neukládají novou hodnotu, pokud očekávané a aktuální hodnoty nejsou stejné. Silná příchuť zaručuje, že uloží novou hodnotu, pokud jsou očekávané a aktuální hodnoty stejné. Slabá příchuť se někdy může vrátit false
a neukládá novou hodnotu, i když jsou aktuální a očekávané hodnoty stejné. Jinými slovy, funkce vrátí false
, ale pozdější prozkoumání očekávané hodnoty může odhalit, že se nezměnila, a proto by měla mít ve srovnání s rovna.
atomic_exchange
Slouží Value
k nahrazení uložené hodnoty Atom
.
template <class T>
inline Ty atomic_exchange(volatile atomic<Ty>* _Atom, Ty Value) noexcept;
template <class Ty>
inline T atomic_exchange(atomic<Ty>* Atom, Ty Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Návratová hodnota
Uložená hodnota Atom
před výměnou.
Poznámky
Funkce atomic_exchange
provádí operaci čtení-úpravy zápisu za účelem výměny hodnoty, která je uložena Atom
s Value
, pomocí memory_order.memory_order_seq_cst
.
atomic_exchange_explicit
Nahradí uloženou Atom
Value
hodnotu hodnotou .
template <class Ty>
inline Ty atomic_exchange_explicit(
volatile atomic<Ty>* Atom,
Ty Value,
memory_order Order) noexcept;
template <class Ty>
inline Ty atomic_exchange_explicit(
atomic<Ty>* Atom,
Ty Value,
memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Order
Úloha memory_order
.
Návratová hodnota
Uložená hodnota Atom
před výměnou.
Poznámky
Funkce atomic_exchange_explicit
provádí operaci čtení-úpravy-zápis výměny hodnoty, která je uložena Atom
s Value
, v rámci omezení paměti, které jsou určeny Order
.
atomic_fetch_add
Přidá hodnotu k existující hodnotě, která je uložena v objektu atomic
.
template <class T>
T* atomic_fetch_add(volatile atomic<T*>* Atom, ptrdiff_t Value) noexcept;
template <class T>
T* atomic_fetch_add(atomic<T*>* Atom, ptrdiff_t Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá ukazatel na typ T
.
Value
Hodnota typu ptrdiff_t
.
Návratová hodnota
Hodnota ukazatele obsaženého objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_add
provádí operaci čtení-úpravy zápisu, která atomicky přidá Value
uloženou hodnotu v Atom
, pomocí memory_order.memory_order_seq_cst
omezení.
Pokud je atomic_address
atomický typ , Value
má typ ptrdiff_t
a operace zachází s uloženým ukazatelem jako s char *
.
Tato operace je také přetížena pro integrální typy:
integral atomic_fetch_add(volatile atomic-integral* Atom, integral Value) noexcept;
integral atomic_fetch_add(atomic-integral* Atom, integral Value) noexcept;
atomic_fetch_add_explicit
Přidá hodnotu k existující hodnotě, která je uložena v objektu atomic
.
template <class T>
T* atomic_fetch_add_explicit(
volatile atomic<T*>* Atom,
ptrdiff_t Value,
memory_order Order) noexcept;
template <class T>
T* atomic_fetch_add_explicit(
atomic<T*>* Atom,
ptrdiff_t Value,
memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá ukazatel na typ T
.
Value
Hodnota typu ptrdiff_t
.
Návratová hodnota
Hodnota ukazatele obsaženého objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_add_explicit
provádí operaci čtení-úpravy zápisu, která atomicky přidá Value
uloženou hodnotu v Atom
, v rámci memory_order
omezení, která jsou určena Order
.
Pokud je atomic_address
atomický typ , Value
má typ ptrdiff_t
a operace zachází s uloženým ukazatelem jako s char *
.
Tato operace je také přetížena pro integrální typy:
integral atomic_fetch_add_explicit(
volatile atomic-integral* Atom,
integral Value,
memory_order Order) noexcept;
integral atomic_fetch_add_explicit(
atomic-integral* Atom,
integral Value,
memory_order Order) noexcept;
atomic_fetch_and
Provádí bitovou &
hodnotu a existující hodnotu uloženou v objektu atomic
.
template <class T>
inline T atomic_fetch_and(volatile atomic<T>* Atom, T Value) noexcept;
template <class T>
inline T atomic_fetch_and(volatile atomic<T>* Atom, T Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Value
Hodnota typu T
.
Návratová hodnota
Hodnota obsažená objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_and
provádí operaci čtení-úpravy zápisu, která nahradí uloženou hodnotu bitovou &
Value
hodnotou Atom
a aktuální hodnotou, která je uložena v Atom
, pomocí memory_order.memory_order_seq_cst
omezení.
atomic_fetch_and_explicit
Provede bitovou &
hodnotu a existující hodnotu uloženou v objektu atomic
.
template <class T>
inline T atomic_fetch_and_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
template <class T>
inline T atomic_fetch_and_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Value
Hodnota typu T
.
Order
Úloha memory_order
.
Návratová hodnota
Hodnota obsažená objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_and_explicit
provádí operaci čtení-úpravy zápisu, která nahradí uloženou hodnotu bitovou &
Value
hodnotou Atom
a aktuální hodnotou uloženou v Atom
omezení paměti, která jsou určena Order
.
atomic_fetch_or
Provádí bitovou or
hodnotu a existující hodnotu uloženou v objektu atomic
.
template <class T>
inline T atomic_fetch_or (volatile atomic<T>* Atom, T Value) noexcept;
template <class T>
inline T atomic_fetch_or (volatile atomic<T>* Atom, T Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Value
Hodnota typu T
.
Návratová hodnota
Hodnota obsažená objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_or
provádí operaci čtení-úpravy zápisu, která nahradí uloženou hodnotu bitovou or
Value
hodnotou Atom
a aktuální hodnotou, která je uložena v Atom
, pomocí memory_order.memory_order_seq_cst
.
atomic_fetch_or_explicit
Provádí bitovou or
hodnotu a existující hodnotu uloženou v objektu atomic
.
template <class T>
inline T atomic_fetch_or_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
template <class T>
inline T atomic_fetch_or_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Value
Hodnota typu T
.
Order
Úloha memory_order
.
Návratová hodnota
Hodnota obsažená objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_or_explicit
provede operaci čtení-úpravy zápisu, která nahradí uloženou hodnotu bitovou or
Value
hodnotou Atom
a aktuální hodnotou uloženou v Atom
rámci memory_order
omezení určených Order
.
atomic_fetch_sub
Odečte hodnotu od existující hodnoty, která je uložena v objektu atomic
.
template <class T>
T* atomic_fetch_sub(
volatile atomic<T*>* Atom,
ptrdiff_t Value) noexcept;
template <class T>
T* atomic_fetch_sub(
atomic<T*>* Atom,
ptrdiff_t Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá ukazatel na typ T
.
Value
Hodnota typu ptrdiff_t
.
Návratová hodnota
Hodnota ukazatele obsaženého objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_sub
provádí operaci čtení-úpravy zápisu, která atomicky odečte Value
od uložené hodnoty v Atom
, pomocí memory_order.memory_order_seq_cst
omezení.
Pokud je atomic_address
atomický typ , Value
má typ ptrdiff_t
a operace zachází s uloženým ukazatelem jako s char *
.
Tato operace je také přetížena pro integrální typy:
integral atomic_fetch_sub(volatile atomic-integral* Atom, integral Value) noexcept;
integral atomic_fetch_sub(atomic-integral* Atom, integral Value) noexcept;
atomic_fetch_sub_explicit
Odečte hodnotu od existující hodnoty, která je uložena v objektu atomic
.
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;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá ukazatel na typ T
.
Value
Hodnota typu ptrdiff_t
.
Návratová hodnota
Hodnota ukazatele obsaženého objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_sub_explicit
provádí operaci čtení-úpravy zápisu, aby atomicky odečítala Value
uloženou hodnotu v Atom
, v rámci memory_order
omezení, která jsou určena Order
.
Pokud je atomic_address
atomický typ , Value
má typ ptrdiff_t
a operace zachází s uloženým ukazatelem jako s char *
.
Tato operace je také přetížena pro integrální typy:
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;
atomic_fetch_xor
Provádí bitovou exclusive or
hodnotu a existující hodnotu uloženou v objektu atomic
.
template <class T>
inline T atomic_fetch_xor(volatile atomic<T>* Atom, T Value) noexcept;
template <class T>
inline T atomic_fetch_xor(volatile atomic<T>* Atom, T Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Value
Hodnota typu T
.
Návratová hodnota
Hodnota obsažená objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_xor
provádí operaci čtení-úpravy zápisu, která nahradí uloženou hodnotu bitovou exclusive or
Value
hodnotou Atom
a aktuální hodnotou, která je uložena v Atom
, pomocí memory_order.memory_order_seq_cst
.
atomic_fetch_xor_explicit
Provádí bitovou exclusive or
hodnotu a existující hodnotu uloženou v objektu atomic
.
template <class T>
inline T atomic_fetch_xor_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
template <class T>
inline T atomic_fetch_xor_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Value
Hodnota typu T
.
Order
Úloha memory_order
.
Návratová hodnota
Hodnota obsažená objektem atomic
bezprostředně před provedením operace.
Poznámky
Funkce atomic_fetch_xor_explicit
provádí operaci čtení-úpravy zápisu, která nahradí uloženou hodnotu bitovou exclusive or
Value
hodnotou Atom
a aktuální hodnotou uloženou v Atom
rámci memory_order
omezení, která jsou určena Order
.
atomic_flag_clear
bool
Nastaví příznak v objektu atomic_flag
na false
, v rámci memory_order.memory_order_seq_cst
.
inline void atomic_flag_clear(volatile atomic_flag* Flag) noexcept;
inline void atomic_flag_clear(atomic_flag* Flag) noexcept;
Parametry
Flag
Ukazatel na atomic_flag
objekt.
atomic_flag_clear_explicit
bool
Nastaví příznak v objektu atomic_flag
na false
, v rámci zadaných memory_order
omezení.
inline void atomic_flag_clear_explicit(volatile atomic_flag* Flag, memory_order Order) noexcept;
inline void atomic_flag_clear_explicit(atomic_flag* Flag, memory_order Order) noexcept;
Parametry
Flag
Ukazatel na atomic_flag
objekt.
Order
Úloha memory_order
.
atomic_flag_test_and_set
Nastaví příznak v objektu atomic_flag
bool
na true
, v rámci omezení memory_order.memory_order_seq_cst
.
inline bool atomic_flag_test_and_set(volatile atomic_flag* Flag,) noexcept;
inline bool atomic_flag_test_and_set(atomic_flag* Flag,) noexcept;
Parametry
Flag
Ukazatel na atomic_flag
objekt.
Návratová hodnota
Počáteční hodnota Flag
.
atomic_flag_test_and_set_explicit
bool
Nastaví příznak v objektu atomic_flag
na true
, v rámci zadaných memory_order
omezení.
inline bool atomic_flag_test_and_set_explicit(volatile atomic_flag* Flag, memory_order Order) noexcept;
inline bool atomic_flag_test_and_set_explicit(atomic_flag* Flag, memory_order Order) noexcept;
Parametry
Flag
Ukazatel na atomic_flag
objekt.
Order
Úloha memory_order
.
Návratová hodnota
Počáteční hodnota Flag
.
atomic_init
Nastaví uloženou hodnotu v objektu atomic
.
template <class Ty>
inline void atomic_init(volatile atomic<Ty>* Atom, Ty Value) noexcept;
template <class Ty>
inline void atomic_init(atomic<Ty>* Atom, Ty Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Poznámky
atomic_init
není atomická operace. Není bezpečná pro přístup z více vláken.
atomic_is_lock_free
Určuje, jestli jsou atomické operace u objektu atomic
zamčené.
template <class T>
inline bool atomic_is_lock_free(const volatile atomic<T>* Atom) noexcept;
template <class T>
inline bool atomic_is_lock_free(const atomic<T>* Atom) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který ukládá hodnotu typu T
.
Návratová hodnota
true
pokud jsou atomické operace Atom
bez uzamčení; jinak . false
Poznámky
Atomický typ je bez uzamčení, pokud žádné atomické operace na daném typu používají zámky. Pokud tato funkce vrátí true
, typ je bezpečný pro použití v obslužných rutinách signálu.
atomic_load
Načte uloženou hodnotu v objektu atomic
.
template <class Ty>
inline Ty atomic_load(const volatile atomic<Ty>* Atom) noexcept;
template <class Ty>
inline Ty atomic_load(const atomic<Ty>* Atom) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který obsahuje hodnotu typu Ty
.
Návratová hodnota
Načtená hodnota uložená v Atom
souboru .
Poznámky
atomic_load
implicitně používá memory_order.memory_order_seq_cst
.
atomic_load_explicit
Načte uloženou hodnotu v objektu atomic
v zadaném memory_order
objektu .
template <class Ty>
inline Ty atomic_load_explicit(const volatile atomic<Ty>* Atom, memory_order Order) noexcept;
template <class Ty>
inline Ty atomic_load_explicit(const atomic<Ty>* Atom, memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který obsahuje hodnotu typu Ty
.
Order
Úloha memory_order
. Nepoužívejte memory_order_release
nebo memory_order_acq_rel
.
Návratová hodnota
Načtená hodnota uložená v Atom
souboru .
atomic_signal_fence
Funguje jako plot – primitivní synchronizace paměti, která vynucuje řazení mezi operacemi zatížení a úložiště – mezi jinými ploty ve volajícím vlákně, které mají obslužné rutiny signálu spuštěné ve stejném vlákně.
inline void atomic_signal_fence(memory_order Order) noexcept;
Parametry
Order
Omezení řazení paměti, které určuje typ plotu.
Poznámky
Argument Order
určuje typ plotu.
Hodnota | Popis |
---|---|
memory_order_relaxed |
Plot nemá žádný vliv. |
memory_order_consume |
Plot je získat plot. |
memory_order_acquire |
Plot je získat plot. |
memory_order_release |
Plot je uvolněný plot. |
memory_order_acq_rel |
Plot je jak získat plot, tak uvolnit plot. |
memory_order_seq_cst |
Plot je jak získat plot, tak uvolnit plot, a je postupně konzistentní. |
atomic_store
Atomicky ukládá hodnotu v objektu atomic
.
template <class Ty>
inline Ty atomic_store_explicit(const volatile atomic<Ty>* Atom, Ty Value) noexcept;
template <class Ty>
inline Ty atomic_store_explicit(const atomic<Ty>* Atom, T Value) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který obsahuje hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Poznámky
atomic_store
ukládá Value
v objektu, na který odkazuje , Atom
v rámci memory_order.memory_order_seq_cst
omezení.
atomic_store_explicit
Atomicky ukládá hodnotu v objektu atomic
.
template <class Ty>
inline Ty atomic_store_explicit(
const volatile atomic<Ty>* Atom,
Ty Value,
memory_order Order) noexcept;
template <class Ty>
inline Ty atomic_store_explicit(
const atomic<Ty>* Atom,
T Value,
memory_order Order) noexcept;
Parametry
Atom
Ukazatel na atomic
objekt, který obsahuje hodnotu typu Ty
.
Value
Hodnota typu Ty
.
Order
Úloha memory_order
. Nepoužívejte memory_order_consume
, memory_order_acquire
nebo memory_order_acq_rel
.
Poznámky
atomic_store
ukládá Value
do objektu, na který odkazuje Atom
, v rámci memory_order
určeného parametrem Order
.
atomic_thread_fence
Funguje jako plot – primitivní synchronizace paměti, která vynucuje řazení mezi operacemi zatížení a úložiště – bez přidružené atomické operace.
inline void atomic_thread_fence(memory_order Order) noexcept;
Parametry
Order
Omezení řazení paměti, které určuje typ plotu.
Poznámky
Argument Order
určuje typ plotu.
Hodnota | Popis |
---|---|
memory_order_relaxed |
Plot nemá žádný vliv. |
memory_order_consume |
Plot je získat plot. |
memory_order_acquire |
Plot je získat plot. |
memory_order_release |
Plot je uvolněný plot. |
memory_order_acq_rel |
Plot je jak získat plot, tak uvolnit plot. |
memory_order_seq_cst |
Plot je jak získat plot, tak uvolnit plot, a je postupně konzistentní. |
kill_dependency
Odebere závislost.
template <class Ty>
Ty kill_dependency(Ty Arg) noexcept;
Parametry
Arg
Hodnota typu Ty
.
Návratová hodnota
Vrácená hodnota je Arg
. Vyhodnocení Arg
nepřenáší závislost na volání funkce. Když funkci přerušíte možný řetěz závislostí, může kompilátoru umožnit vygenerovat efektivnější kód.