Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::experi...r::exchange(3)  C++ Standard Libary std::experi...r::exchange(3)

NAME
       std::experimental::atomic_weak_ptr::exchange	 -     std::experimen-
       tal::atomic_weak_ptr::exchange

Synopsis
	  weak_ptr<T> exchange(	weak_ptr<T> desired, std::memory_order order =
	  std::memory_order_seq_cst ) noexcept;

	  Atomically replaces the underlying weak_ptr with desired. The	opera-
       tion is a
	  read-modify-write operation. Memory is  affected  according  to  the
       value of	order.

Parameters
	  desired - value to assign
	  order	  - memory order constraints to	enforce

Return value
	  The value of the atomic variable before the call.

	 Remarks

	  All changes to the atomic_weak_ptr object itself, and	all associated
       use_count
	  increments,  are  guaranteed	to be performed	atomically. Associated
       use_count
	  decrements take place	after the atomic operation, but	 are  not  re-
       quired to be part of
	  it. Any associated destruction or deallocation operations take place
       after the
	  atomic operation and are not part of it.

See also
	  std::atomic_is_lock_free(std::shared_ptr)
	  std::atomic_load(std::shared_ptr)
	  std::atomic_load_explicit(std::shared_ptr)
	  std::atomic_store(std::shared_ptr)
	  std::atomic_store_explicit(std::shared_ptr)			  spe-
       cializes	atomic
	  std::atomic_exchange(std::shared_ptr)				opera-
       tions for
	  std::atomic_exchange_explicit(std::shared_ptr)
       std::shared_ptr
	  std::atomic_compare_exchange_weak(std::shared_ptr)		(func-
       tion template)
	  std::atomic_compare_exchange_strong(std::shared_ptr)
	  std::atomic_compare_exchange_weak_explicit(std::shared_ptr)
	  std::atomic_compare_exchange_strong_explicit(std::shared_ptr)
	  (deprecated in C++20)

http://cppreference.com		  2022.07.31	  std::experi...r::exchange(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::atomic_weak_ptr::exchange&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help