Есть ли способ определить (адаптировать) структуру для Hana с параметрами шаблона?
Канонический пример - это не шаблонный класс,
#include <boost/hana/define_struct.hpp>
#include <string>
namespace hana = boost::hana;
struct Person {
BOOST_HANA_DEFINE_STRUCT(Person,
(std::string, name),
(int, age)
);
};
Мы пытаемся добавить параметры шаблона, возникает ошибка компиляции:
template<class S = std::string, class I = int>
struct Person {
BOOST_HANA_DEFINE_STRUCT(Person<S, I>,
(S, name),
(I, age)
);
};
Я думал, что это не удалось из-за использования запятых, поэтому я попытался decltype(Person<S, I>)
вместо Person<S,I>
.
В Boost.Fusion у нас было BOOST_FUSION_DEFINE_TPL_STRUCT , но я не могу найти эквивалент в Хане.
Как определить структуру Hana с параметрами шаблона?