Tengo una función de miembro con un número variable de parámetros, almacenada en un std::function
, y quiero vincular la instancia y obtener un objeto de función independiente.funciones de miembro de enlace de forma variada
template <class T, class R, class... Args>
void connect(const T& t, std::function<R(const T&, Args...)> f) {
std::function<R(Args...)> = /* bind the instance c into the function? */
}
// ...
Class c;
connect(c, &Class::foo);
Para un número fijo de argumentos que usaría std::bind
, pero no veo cómo hacer esto para los parámetros variadic.
¿Cómo es exactamente lo que obtiene '' Args ...? – Xeo
De acuerdo, escribí el código de manera diferente, con suerte es más comprensible de esta manera. –
Sí, lo es. Y hace la solución bastante fácil. :) – Xeo