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

FreeBSD Manual Pages

  
 
  

home | help
deductiongu...td::function(3) C++ Standard Libarydeductiongu...td::function(3)

NAME
       deductionguidesforstd::function - deductionguidesforstd::function

Synopsis
	  Defined in header <functional>
	  template<  class  R,	class...  ArgTypes  >			   (1)
       (since C++17)
	  function( R(*)(ArgTypes...) )	-> function<R(ArgTypes...)>;
	  template<  class  F	>					   (2)
       (since C++17)
	  function( F )	-> function</*see below*/>;

	  1)  This  deduction guide is provided	for std::function to allow de-
       duction from
	  functions.
	  2) This overload participates	in overload resolution only if &F::op-
       erator()	is
	  well-formed  when  treated  as  an  unevaluated  operand   and   de-
       cltype(&F::operator()) is
	  of the form R(G::*)(A...) (optionally	cv-qualified, optionally noex-
       cept, optionally
	  lvalue  reference qualified) for some	class type G. The deduced type
       is
	  std::function<R(A...)>.

Notes
	  The type deduced by these deduction guides may  change  in  a	 later
       standard	revision
	  (in  particular,  this  might	happen if noexcept support is added to
       std::function in	a
	  later	standard).

Example
       // Run this code

	#include <functional>
	int func(double) { return 0; }
	int main() {
	  std::function	f{func}; // guide #1 deduces function<int(double)>
	  int i	= 5;
	  std::function	g = [&](double)	{ return i; };	//  guide  #2  deduces
       function<int(double)>
	}

	 Defect	reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	     DR	   Applied to	 Behavior as published	  Correct behavior
	  LWG 3238 C++17      behavior of (2) was unclear clarified

http://cppreference.com		  2022.07.31	 deductiongu...td::function(3)

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

home | help