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

FreeBSD Manual Pages

  
 
  

home | help
std::experi...nges::invoke(3) C++ Standard Libarystd::experi...nges::invoke(3)

NAME
       std::experimental::ranges::invoke - std::experimental::ranges::invoke

Synopsis
	  Defined in header <experimental/ranges/functional>
	  template	 <	 class	     F,	     class...	   Args	     >
       (ranges TS)
	  std::result_of_t<F&&(Args&&...)> invoke(F&& f, Args&&... args);

	  Invoke the Callable object f with the	parameters  args,  and	return
       the result, as if
	  by  return INVOKE(std::forward<F>(f),	std::forward<Args>(args)...);,
       where INVOKE(f,
	  t1, t2, ..., tN) is defined as follows:

	    * if f is a	pointer	to member function of class T:

		     *	    If	     std::is_base_of<T,	      std::decay_t<de-
       cltype(t1)>>::value is true, then
		       INVOKE(f, t1, t2, ..., tN) is equivalent	to (t1.*f)(t2,
       ..., tN)
		     *	otherwise, INVOKE(f, t1, t2, ..., tN) is equivalent to
       ((*t1).*f)(t2,
		       ..., tN).

	    * otherwise, if N == 1 and f is a pointer to data member of	 class
       T:

		     *	     If	      std::is_base_of<T,      std::decay_t<de-
       cltype(t1)>>::value is true, then
		       INVOKE(f, t1) is	equivalent to t1.*f
		     * otherwise, then INVOKE(f, t1) is	equivalent to (*t1).*f

	    * otherwise, INVOKE(f, t1, t2, ...,	tN) is equivalent to f(t1, t2,
       ..., tN)	(that
	      is, f is a FunctionObject)

Parameters
	  f    - Callable object to be invoked
	  args - arguments to pass to f

See also
	  invoke   invokes any Callable	object with given arguments
	  invoke_r and possibility to specify return type
	  (C++17)  (since C++23)
	  (C++23)  (function template)

http://cppreference.com		  2022.07.31	 std::experi...nges::invoke(3)

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

home | help