Boost MP11: получить список типов из контейнера индексов типов ⇐ C++
-
Гость
Boost MP11: получить список типов из контейнера индексов типов
Я знаю, что с помощью комбинации mp_with_index и mp_at_c мы можем преобразовать один индекс в тип T:
using List = mp_list; std::size_t typeIndex = 2; boost::mp11::mp_with_index( индекс типа, [&](авто I) { // Т — Баз используя T = boost::mp11::mp_at_c; }); Я хотел бы пойти еще дальше и преобразовать контейнер индексов типов в список типов:
using List = mp_list; std::array arr{2, 1, 0}; // * Сделай что-нибудь * // T — это MyType используя T = * Что-то * Возможно ли это? Если нет, то как насчет того, чтобы получить что-то вроде MyType?
Я знаю, что с помощью комбинации mp_with_index и mp_at_c мы можем преобразовать один индекс в тип T:
using List = mp_list; std::size_t typeIndex = 2; boost::mp11::mp_with_index( индекс типа, [&](авто I) { // Т — Баз используя T = boost::mp11::mp_at_c; }); Я хотел бы пойти еще дальше и преобразовать контейнер индексов типов в список типов:
using List = mp_list; std::array arr{2, 1, 0}; // * Сделай что-нибудь * // T — это MyType используя T = * Что-то * Возможно ли это? Если нет, то как насчет того, чтобы получить что-то вроде MyType?
Мобильная версия