История изменений
Исправление monk, (текущая версия) :
Вот если натянуть на язык Си S-expression
Нарисуешь, как будет выглядить в виде S-expression:
template<int I, typename Head, typename... Args>
struct getter
{
typedef typename getter<I-1, Args...>::return_type return_type;
static return_type get(tuple<Head, Args...> t)
{
return getter<I-1, Args...>::get(t);
}
};
?
По мне, так пусть лучше будут структуры, соответствующие конструкциям языка, а не списки, где надо запоминать, что в первом элементе возвращаемый тип, во втором имя, в третьем ….
если в коде можно помимо просто main сделать некий специальный main_compiletime который бы видел весь собственный исходник
Это хоть сейчас любым C++ генератором можно делать.
Исходная версия monk, :
Вот если натянуть на язык Си S-expression
Нарисуешь, как будет выглядить в виде S-expression:
template<int I, typename Head, typename... Args>
struct getter
{
typedef typename getter<I-1, Args...>::return_type return_type;
static return_type get(tuple<Head, Args...> t)
{
return getter<I-1, Args...>::get(t);
}
};
?
По мне, так пусть лучше будут структуры, соответствующие конструкциям языка, а не списки, где надо, запоминать, что в первом элементе возвращаемый тип, во втором имя, в третьем ….
если в коде можно помимо просто main сделать некий специальный main_compiletime который бы видел весь собственный исходник
Это хоть сейчас любым C++ генератором можно делать.