|
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)...)) |
|
template<class ArrayL , class ArrayR > |
constexpr bool | operator_equal_impl (ArrayL const &lhs, size_t const lhs_size, ArrayR const &rhs, size_t const rhs_size) |
|