Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::overloaded< First, Rest... > Struct Template Reference
+ Inheritance diagram for ranges::v3::overloaded< First, Rest... >:

Public Member Functions

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)