static constexpr auto type_tuple_c = hana::tuple_t<T...>;
static constexpr auto idx_tuple_c = hana::tuple_c<std::size_t, 0, sizeof...(T)>;
Я хотел бы сопоставить эти две последовательности одинаковых размеров друг с другом. Тем не менее, я не могу понять, как получить это с hana::map
функции:
static constexpr auto type_idx_map_c = hana::unpack(
hana::zip_with(hana::make_pair, type_tuple_c, idx_tuple_c)
, hana::make_map
);
Независимо от того, какие преобразования я делаю, я не могу создать отображение. Я понимаю, что карта требует, чтобы ее элементы соответствовали концепции Продукта, но я не могу понять (или даже понять) такое поведение в отношении сжатых структур.
Что я могу сделать, или что я делаю неправильно?
Бег gcc version 6.0.0 20160320
а также hana version 0.7.0
последний раз был доставлен сегодня
Я хотел бы сопоставить эти две последовательности одинаковых размеров друг с другом.
Эти последовательности обычно не имеют одинаковых размеров. type_tuple_c
имеет размер sizeof...(T)
, но idx_tuple_c
имеет размер 2 — он содержит только элементы hana::size_c<0>
а также hana::size_c<sizeof...(T)>
,
Я думаю, что вы ищете, насколько далеко идут индексы std::make_index_sequence<sizeof...(T)>{}
, Это должно все еще хорошо играть с Boost.Hana.
Других решений пока нет …