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

Public Member Functions

template<typename... Args>
requires constexpr invocable< First &, Args... > _result_t< detail::_ref, Args... > operator() (Args &&... args) &
 
constexpr Args _result_t< detail::_ref, Args... > operator() (Args &&... args) &
 
template<typename... Args>
requires constexpr invocable< First, Args... > _result_t< detail::_id, Args... > operator() (Args &&... args) &&
 
constexpr Args _result_t< detail::_id, Args... > operator() (Args &&... args) &&
 
template<typename... Args>
requires constexpr invocable< First const &, Args... > _result_t< detail::_cref, Args... > operator() (Args &&... args) const &
 
constexpr Args _result_t< detail::_cref, Args... > operator() (Args &&... args) const &
 
constexpr overloaded (First first, Rest... rest)
 
template<typename... Args>
 requires (!invocable< First &, Args... >) &&invocable< overloaded< Rest... > &
 
template<typename... Args>
 requires (!invocable< First const &, Args... >) &&invocable< overloaded< Rest... > const &
 
template<typename... Args>
 requires (!invocable< First, Args... >) &&invocable< overloaded< Rest... >