utl::detail Namespace Reference

## Classes

struct | invoke_result_
struct | invoke_result_< true, _Callable, _Args... >
struct | is_ref_wrapper
struct | is_ref_wrapper< std::reference_wrapper< U > >
struct | try_invoke

## Typedefs

template<typename I >
using | try_ppI = decltype(++(std::declval< I >()))
template<typename I >
using | try_Ipp = decltype(std::declval< I >()++)

## Functions

template<class T , class Type , class T1 , class... Args, meta::enable_if_t< std::is_member_function_pointer< std::decay_t< Type T::*>>::value &&std::is_base_of< T, std::decay_t< T1 >>::value, int > = 0>
decltype(auto) | invoke_impl_ (Type T::*f, T1 &&t1, Args &&... args)
template<class F , class... Args>
decltype(auto) | invoke_impl_ (F &&f, Args &&... args)

## Detailed Description

invoke_result (SFINAE friendly)

## Typedef Documentation

## try_Ipp

template<typename I >

using utl::detail::try_Ipp = typedef decltype (std::declval<I>()++)

Definition at line 46 of file iterators.h.

## try_ppI

template<typename I >

using utl::detail::try_ppI = typedef decltype (++(std::declval<I>()))

Definition at line 45 of file iterators.h.

## Function Documentation

## invoke_impl_() [1/2]

template<class T , class Type , class T1 , class... Args, meta::enable_if_t< std::is_member_function_pointer< std::decay_t< Type T::*>>::value &&std::is_base_of< T, std::decay_t< T1 >>::value, int > = 0>

decltype(auto) utl::detail::invoke_impl_ | ( | Type T::* | f,
|  | T1 && | t1,
|  | Args &&... | args
| ) |  |

Definition at line 51 of file invoke.h.

## invoke_impl_() [2/2]

template<class F , class... Args>

decltype(auto) utl::detail::invoke_impl_ | ( | F && | f,
|  | Args &&... | args
| ) |  |

Definition at line 113 of file invoke.h.