Сообщение Re: имя переменной в компайл-тайм от 12.03.2018 17:43
Изменено 12.03.2018 17:45 Маркуша Шулин
Re: имя переменной в компайл-тайм
Здравствуйте, niXman, Вы писали:
X>привет!
X>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов?
X>спасибо.
вообщехотелось бы итеративное поведение, что и подразумевается рефлексией ..
и вообще возможность получать compile expressions
в таком ключе итерационность по переменным — это значительный профит
Сейчас во всяких эйгенах и компайлтайм аджинтах \ и прочих template time expressions это делается через треш, и мало что с ним можно делать.
X>привет!
X>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов?
X>спасибо.
вообще
struct my_struct
{
inline void my_func(int arg1, int arg2);
};
template <typename C, typename R, typename ...Args>
auto std::bind(R C::*fptr func)
{
# pragma message (get_arg_identifier<1, decltype(func)>())
return bind_impl(func);
}и вообще возможность получать compile expressions
template <typename Arg>
inline auto foo (Arg arg)
{
expr_of<decltype(arg)>::type
expr;
do_something_with_expression<decltype(arg)>();
return expr(1, 2, 3);
}
void foomain() {
int x0 = 0, x1 = 1, x2 = 2;
foo(x0 * (x2 + x1));
}в таком ключе итерационность по переменным — это значительный профит
Сейчас во всяких эйгенах и компайлтайм аджинтах \ и прочих template time expressions это делается через треш, и мало что с ним можно делать.
Re: имя переменной в компайл-тайм
Здравствуйте, niXman, Вы писали:
X>привет!
X>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов?
X>спасибо.
вообще хотелось бы итеративное поведение, что и подразумевается рефлексией ..
и вообще возможность получать compile expressions
в таком ключе итерационность по переменным — это значительный профит
Сейчас во всяких эйгенах и компайлтайм аджинтах \ и прочих template time expressions это делается через треш, и мало что с ним можно делать.
X>привет!
X>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов?
X>спасибо.
вообще хотелось бы итеративное поведение, что и подразумевается рефлексией ..
struct my_struct
{
inline void my_func(int arg1, int arg2);
};
template <typename C, typename R, typename ...Args>
auto std::bind(R C::*fptr func)
{
# pragma message (get_identifier<1, decltype(func)>())
return bind_impl(func);
}и вообще возможность получать compile expressions
template <typename Arg>
inline auto foo (Arg arg)
{
expr_of<decltype(arg)>::type
expr;
do_something_with_expression<decltype(arg)>();
return expr(1, 2, 3);
}
void foomain() {
int x0 = 0, x1 = 1, x2 = 2;
foo(x0 * (x2 + x1));
}в таком ключе итерационность по переменным — это значительный профит
Сейчас во всяких эйгенах и компайлтайм аджинтах \ и прочих template time expressions это делается через треш, и мало что с ним можно делать.