У меня есть шаблон, который выглядит примерно так:
template<class out, class... inTypes>
string do_thing(std::function<out(inTypes)> inFunc)
{
Do stuff
}
Я хочу сделать примерно следующее, в небрежном синтаксисе, во время компиляции:
Делать вещи:
for (int i =0; i < inTypes.length();++i)
{
obj_that_acts_like_vector.push_back( inFunc.params[i].name_of_paramrter_as_string)
}
Так что, если бы у меня была функция, принимающая int myInt и bool myBool, все вещи скомпилировались бы в
obj_that_acts_like_vector.push_back("myInt"); obj_that_acts_like_vector.push_back("myBool");
Возможно ли это вообще?