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>
	  template specializations
	  T fetch_sub( T arg,
		       std::memory_order  order	 = std::memory_order_seq_cst )
       (1) (since C++20)
	  const	noexcept;
	  member only of atomic_ref<T*>	template specialization
	  T* fetch_sub(	std::ptrdiff_t arg,
			std::memory_order  order  =  std::memory_order_seq_cst
       (2) (since C++20)
	  ) const noexcept;

	  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

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	 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.1.quarterly>

home | help