Chromium Embedded Framework (CEF)
114.2.1+gd70a0a8+chromium-114.0.5735.45
|
Use std::tuple as tuple type. More...
Namespaces | |
base | |
Functions | |
template<typename ObjT , typename Method , typename Tuple , size_t... Ns> | |
void | base::DispatchToMethodImpl (const ObjT &obj, Method method, Tuple &&args, std::index_sequence< Ns... >) |
template<typename ObjT , typename Method , typename Tuple > | |
void | base::DispatchToMethod (const ObjT &obj, Method method, Tuple &&args) |
template<typename Function , typename Tuple , size_t... Ns> | |
void | base::DispatchToFunctionImpl (Function function, Tuple &&args, std::index_sequence< Ns... >) |
template<typename Function , typename Tuple > | |
void | base::DispatchToFunction (Function function, Tuple &&args) |
template<typename ObjT , typename Method , typename InTuple , typename OutTuple , size_t... InNs, size_t... OutNs> | |
void | base::DispatchToMethodImpl (const ObjT &obj, Method method, InTuple &&in, OutTuple *out, std::index_sequence< InNs... >, std::index_sequence< OutNs... >) |
template<typename ObjT , typename Method , typename InTuple , typename OutTuple > | |
void | base::DispatchToMethod (const ObjT &obj, Method method, InTuple &&in, OutTuple *out) |
Use std::tuple as tuple type.
This file contains helper functions for working with std::tuples. The functions DispatchToMethod and DispatchToFunction take a function pointer or instance and method pointer, and unpack a tuple into arguments to the call.
Example usage:
// These two methods of creating a Tuple are identical. std::tuple<int, const char*> tuple_a(1, "wee"); std::tuple<int, const char*> tuple_b = std::make_tuple(1, "wee"); void SomeFunc(int a, const char* b) { } DispatchToFunction(&SomeFunc, tuple_a); // SomeFunc(1, "wee") DispatchToFunction( &SomeFunc, std::make_tuple(10, "foo")); // SomeFunc(10, "foo") struct { void SomeMeth(int a, int b, int c) { } } foo; DispatchToMethod(&foo, &Foo::SomeMeth, std::make_tuple(1, 2, 3)); // foo->SomeMeth(1, 2, 3);