Проблема в том, что в списке параметров функции (то есть в UNSIGNED_CONST(n)) мне нужны индексы начиная с 0, так же как и в args[n].addr. Но в ARG_TYPE(N) мне нужны индексы от 1. Если заюзать BOOST_PP_ENUM, то в ARG_TYPE неправильные индексы, если юзать BOOST_PP_ENUM_SHIFTED, то количество повторений на единицу меньше чем нужно. Эти требования можно одновременно удовлетворить?
Здравствуйте, skeptik_, Вы писали:
_>Проблема в том, что в списке параметров функции (то есть в UNSIGNED_CONST(n)) мне нужны индексы начиная с 0, так же как и в args[n].addr. Но в ARG_TYPE(N) мне нужны индексы от 1. Если заюзать BOOST_PP_ENUM, то в ARG_TYPE неправильные индексы, если юзать BOOST_PP_ENUM_SHIFTED, то количество повторений на единицу меньше чем нужно. Эти требования можно одновременно удовлетворить?
Здравствуйте, jazzer, Вы писали:
_>>Проблема в том, что в списке параметров функции (то есть в UNSIGNED_CONST(n)) мне нужны индексы начиная с 0, так же как и в args[n].addr. Но в ARG_TYPE(N) мне нужны индексы от 1. Если заюзать BOOST_PP_ENUM, то в ARG_TYPE неправильные индексы, если юзать BOOST_PP_ENUM_SHIFTED, то количество повторений на единицу меньше чем нужно. Эти требования можно одновременно удовлетворить? J>Можно, используй BOOST_PP_INC/BOOST_PP_DEC
Я думаю, что если топикастер захотел удалить свой пост, то ответ он уже нашёл.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, jazzer, Вы писали:
V>>Я думаю, что если топикастер захотел удалить свой пост, то ответ он уже нашёл. J>Даже если и так, он не единственный, кто читает этот форум, другие тоже вполне могут столкнуться с подобной проблемой.
Вот таким образом форум и зас.рается.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Vain, Вы писали:
V>Здравствуйте, jazzer, Вы писали:
_>>>Проблема в том, что в списке параметров функции (то есть в UNSIGNED_CONST(n)) мне нужны индексы начиная с 0, так же как и в args[n].addr. Но в ARG_TYPE(N) мне нужны индексы от 1. Если заюзать BOOST_PP_ENUM, то в ARG_TYPE неправильные индексы, если юзать BOOST_PP_ENUM_SHIFTED, то количество повторений на единицу меньше чем нужно. Эти требования можно одновременно удовлетворить? J>>Можно, используй BOOST_PP_INC/BOOST_PP_DEC V>Я думаю, что если топикастер захотел удалить свой пост, то ответ он уже нашёл.
Ага, что-то тормознул я... Я правда BOOST_PP_ADD и BOOST_PP_SUB заюзал.