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<decltype(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<decltype(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		  2024.06.10	 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.1.quarterly>

home | help