Audacity 3.2.0
|
Dispatch to one of a set of functions by the run-time type of an object. More...
Go to the source code of this file.
Namespaces | |
namespace | TypeSwitch |
namespace | TypeSwitch::detail |
Typedefs | |
template<typename... Functions> | |
using | TypeSwitch::detail::FunctionTupleType = std::tuple< const Functions &... > |
template<typename Functions > | |
using | TypeSwitch::detail::FunctionTuple = Apply_t< FunctionTupleType, Functions > |
template<typename R , typename ArgumentTypes , typename Functions , typename... Args> | |
using | TypeSwitch::detail::Executor_t = typename Executor< R, ArgumentTypes, Functions, Args... >::type |
Synthesize a function appropriate for ArgumentType. More... | |
template<typename TypeList > | |
using | TypeSwitch::detail::InheritanceCheck = NotAny< Bind2nd< std::is_base_of, Head_t< TypeList > >, Tail_t< TypeList > > |
Functions | |
template<size_t... Is, typename TupleLike > | |
auto | TypeSwitch::detail::MakeFunctionTuple (std::index_sequence< Is... >, const TupleLike &functions) |
template<typename R = void, typename Types , class TupleLike , typename... Args> | |
auto | TypeSwitch::Dispatch (Head_t< Types > &object, const TupleLike &functions, Args &&... args) -> std::enable_if_t< TypeListCheck_v< Types >, R > |
template<typename R = void, typename Types , typename ... Functions> | |
auto | TypeSwitch::VDispatch (Head_t< Types > &object, const Functions &...functions) |
Variables | |
template<typename TypeList > | |
constexpr bool | TypeSwitch::detail::RootTypeCheck_v |
template<typename TypeList > | |
constexpr bool | TypeSwitch::TypeListCheck_v |
Dispatch to one of a set of functions by the run-time type of an object.
Audacity: A Digital Audio Editor
Paul Licameli
Definition in file TypeSwitch.h.