|
template<typename... Args> |
auto | operator() (Args &&...args) noexcept(noexcept(decltype(invoke(std::declval< First & >(), static_cast< Args && >(args)...))(invoke(std::declval< First & >(), static_cast< Args && >(args)...)))) -> decltype(invoke(std::declval< First & >(), static_cast< Args && >(args)...)) |
|
template<typename... Args> |
auto | operator() (Args &&...args) const noexcept(noexcept(decltype(invoke(std::declval< First const & >(), static_cast< Args && >(args)...))(invoke(std::declval< First const & >(), static_cast< Args && >(args)...)))) -> decltype(invoke(std::declval< First const & >(), static_cast< Args && >(args)...)) |
|
template<typename... Args> |
auto | operator() (Args &&...args) noexcept(noexcept(decltype(std::declval< overloaded< Rest... > & >()(static_cast< Args && >(args)...))(std::declval< overloaded< Rest... > & >()(static_cast< Args && >(args)...)))) -> decltype(std::declval< overloaded< Rest... > & >()(static_cast< Args && >(args)...)) |
|
template<typename... Args> |
auto | operator() (Args &&...args) const noexcept(noexcept(decltype(std::declval< overloaded< Rest... > const & >()(static_cast< Args && >(args)...))(std::declval< overloaded< Rest... > const & >()(static_cast< Args && >(args)...)))) -> decltype(std::declval< overloaded< Rest... > const & >()(static_cast< Args && >(args)...)) |
|
constexpr | overloaded (First first, Rest... rest) |
|