Logo ROOT   6.10/09
Reference Guide
Functions
std::__ROOT::detail Namespace Reference

Functions

template<class F , class Tuple , std::size_t... I>
decltype(auto) constexpr apply_impl (F &&f, Tuple &&t, std::index_sequence< I... >)
 
template<class F , class... Args>
auto INVOKE (F &&f, Args &&... args) -> decltype(std::forward< F >(f)(std::forward< Args >(args)...))
 
template<class Base , class T , class Derived >
auto INVOKE (T Base::*pmd, Derived &&ref) -> decltype(std::forward< Derived >(ref).*pmd)
 
template<class PMD , class Pointer >
auto INVOKE (PMD pmd, Pointer &&ptr) -> decltype((*std::forward< Pointer >(ptr)).*pmd)
 
template<class Base , class T , class Derived , class... Args>
auto INVOKE (T Base::*pmf, Derived &&ref, Args &&... args) -> decltype((std::forward< Derived >(ref).*pmf)(std::forward< Args >(args)...))
 
template<class PMF , class Pointer , class... Args>
auto INVOKE (PMF pmf, Pointer &&ptr, Args &&... args) -> decltype(((*std::forward< Pointer >(ptr)).*pmf)(std::forward< Args >(args)...))
 

Function Documentation

◆ apply_impl()

template<class F , class Tuple , std::size_t... I>
decltype(auto) constexpr std::__ROOT::detail::apply_impl ( F &&  f,
Tuple &&  t,
std::index_sequence< I... >   
)

Definition at line 72 of file impl_tuple_apply.hxx.

◆ INVOKE() [1/5]

template<class F , class... Args>
auto std::__ROOT::detail::INVOKE ( F &&  f,
Args &&...  args 
) -> decltype(std::forward<F>(f)(std::forward<Args>(args)...))
inline

Definition at line 32 of file impl_tuple_apply.hxx.

◆ INVOKE() [2/5]

template<class Base , class T , class Derived >
auto std::__ROOT::detail::INVOKE ( T Base::*  pmd,
Derived &&  ref 
) -> decltype(std::forward<Derived>(ref).*pmd)
inline

Definition at line 38 of file impl_tuple_apply.hxx.

◆ INVOKE() [3/5]

template<class PMD , class Pointer >
auto std::__ROOT::detail::INVOKE ( PMD  pmd,
Pointer &&  ptr 
) -> decltype((*std::forward<Pointer>(ptr)).*pmd)
inline

Definition at line 44 of file impl_tuple_apply.hxx.

◆ INVOKE() [4/5]

template<class Base , class T , class Derived , class... Args>
auto std::__ROOT::detail::INVOKE ( T Base::*  pmf,
Derived &&  ref,
Args &&...  args 
) -> decltype((std::forward<Derived>(ref).*pmf)(std::forward<Args>(args)...))
inline

Definition at line 50 of file impl_tuple_apply.hxx.

◆ INVOKE() [5/5]

template<class PMF , class Pointer , class... Args>
auto std::__ROOT::detail::INVOKE ( PMF  pmf,
Pointer &&  ptr,
Args &&...  args 
) -> decltype(((*std::forward<Pointer>(ptr)).*pmf)(std::forward<Args>(args)...))
inline

Definition at line 56 of file impl_tuple_apply.hxx.