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

Public Member Functions

template<typename... Args>
auto operator() (Args &&...args) noexcept(noexcept(decltype(invoke(first_, static_cast< Args &&>(args)...))(invoke(first_, static_cast< Args &&>(args)...)))) -> decltype(invoke(first_, static_cast< Args &&>(args)...))
 
template<typename... Args>
auto operator() (Args &&...args) return invoke((First const &) first_
 
template<typename... Args>
auto operator() (Args &&...args) noexcept(noexcept(decltype(second_(static_cast< Args &&>(args)...))(second_(static_cast< Args &&>(args)...)))) -> decltype(second_(static_cast< Args &&>(args)...))
 
template<typename... Args>
auto operator() (Args &&...args) return((overloaded< Rest... > const &) second_)(static_cast< Args &&>(args)...) noexcept(noexcept(decltype(CPP_AUTO_FUN_RETURNS_const)(CPP_AUTO_FUN_RETURNS_const))) -> decltype(CPP_AUTO_FUN_RETURNS_const)
 
constexpr overloaded (First first, Rest... rest)
 
auto static_cast (args)...) noexcept(noexcept(decltype(CPP_AUTO_FUN_RETURNS_const)(CPP_AUTO_FUN_RETURNS_const))) -> decltype(CPP_AUTO_FUN_RETURNS_const)