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

FreeBSD Manual Pages

  
 
  

home | help
std::negate(3)		      C++ Standard Libary		std::negate(3)

NAME
       std::negate - std::negate

Synopsis
	  Defined in header <functional>
	  template<>			  (since C++14)
	  class	negate<void>;

	  std::negate<>	 is a specialization of	std::negate with parameter and
       return type
	  deduced.

Member types
	  Member type	 Definition
	  is_transparent /* unspecified	*/

Member functions
	  operator() returns its negated argument
		     (public member function)

       std::negate<>::operator()

	  template< class T >

	  constexpr auto operator()( T&& arg ) const

	  -> decltype(-std::forward<T>(arg));

	  Returns the result of	negating arg (or whatever the unary  operator-
       is overloaded to
	  do)

Parameters
	  arg -	value to negate

Return value
	  The result of	-arg.

Notes
	  The  member  type  is_transparent  indicates to the caller that this
       function	object is
	  a transparent	function object: it  accepts  arguments	 of  arbitrary
       types and uses
	  perfect  forwarding, which avoids unnecessary	copying	and conversion
       when the
	  function object is used in heterogeneous context, or with rvalue ar-
       guments.	In
	  particular,  template	  functions   such   as	  std::set::find   and
       std::set::lower_bound make
	  use of this member type on their Compare types.

Example
       // Run this code

	#include <complex>
	#include <functional>
	#include <iostream>

	int main()
	{
	    constexpr std::complex z(4,	2);

	    std::cout << z << '	' << -z	<< ' ' << std::negate{}(z) << '\n';
	}

Output:
	(4,2) (-4,-2) (-4,-2)

http://cppreference.com		  2022.07.31			std::negate(3)

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

home | help