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

FreeBSD Manual Pages

  
 
  

home | help
std::atomic_ref::fetch_sub(3) C++ Standard Libarystd::atomic_ref::fetch_sub(3)

NAME
       std::atomic_ref::fetch_sub - std::atomic_ref::fetch_sub

Synopsis
	  member  only	of  atomic_ref<Integral> and atomic_ref<Floating> tem-
       plate
	  specializations
	  T		    fetch_sub(		       T		  arg,
       (1)
	  std::memory_order  order  =  std::memory_order_seq_cst ) const noex-
       cept;
	  member only of atomic_ref<T*>	template specialization
	  T*		fetch_sub(	       std::ptrdiff_t		  arg,
       (2)
	  std::memory_order  order  =  std::memory_order_seq_cst ) const noex-
       cept;

	  Atomically replaces the current value	of the referenced object  with
       the result of
	  arithmetic  subtraction  of  the  value and arg. This	operation is a
       read-modify-write
	  operation. Memory is affected	according to the value of order.

	  For signed integral types, arithmetic	is defined to use twos comple-
       ment
	  representation. There	are no undefined results.

	  For floating-point types, the	floating-point environment  in	effect
       may be different
	  from	the calling thread's floating-point environment. The operation
       need not	be
	  conform to the corresponding std::numeric_limits traits but  is  en-
       couraged	to do so.
	  If  the result is not	a representable	value for its type, the	result
       is unspecified
	  but the operation otherwise has no undefined behavior.

	  For T* types,	the result may be an undefined address,	but the	opera-
       tion otherwise
	  has no undefined behavior. The program is ill-formed if T is not  an
       object type.

Parameters
	  arg	- the other argument of	arithmetic subtraction
	  order	- memory order constraints to enforce

Return value
	  The  value  of  the referenced object, immediately preceding the ef-
       fects of	this
	  function.

Example
	   This	section	is incomplete
	   Reason: no example

http://cppreference.com		  2022.07.31	 std::atomic_ref::fetch_sub(3)

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

home | help