table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::experimental::ranges::invoke(3) | C++ Standard Libary | std::experimental::ranges::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)
| 2024.06.10 | http://cppreference.com |