Considere Tengo una función declaraciones como éstas:Recuperar argumentos de la función como una tupla en C++
void foo(int x, float y);
class X {
void anotherFoo(double a, int c);
};
¿Cómo puedo obtener una tupla que corresponde a los argumentos de la función? En el caso anterior sería:
boost::tuple<int, float>
boost::tuple<X*, double, int>
o incluso mejor con el resultado de 0 ª tipo de elemento como:
boost::tuple<void, int, float>
boost::tuple<void, X*, double, int>
sé que boost::function_types::parameter_types
puede hacer exactamente esto. Sin embargo, estoy interesado en el principio de cómo se implementa.
Yo usaría una 'struct'. ¿Cuál es el objetivo/ventaja de usar tuplas? – kol
@kol código menos repetitivo, menos ruido – daramarak
¿Quiere decir que desea generar automáticamente el tipo de tupla en tiempo de compilación o tiempo de ejecución, o desea extraer los parámetros de la regla/pila, o ambos, o alguna otra cosa? – Rup