Миграция из MPL и Fusion в Hana здесь!
Итак, предположим, у нас есть обычный
struct Person {
BOOST_HANA_DEFINE_STRUCT(Person,
(std::string, name),
(int, age)
);
};
В документации приведен пример интроспекции объекта этой структуры в соответствии с
Person john;
static_assert(hana::keys(john) == hana::make_tuple("name"_s, "age"_s));
Но возможно ли проанализировать саму структуру, а именно получить список полей, их типы и имена?
Конечно, я мог бы наложить дополнительные требования на типы, с которыми я работаю, чтобы они конструировались по умолчанию, и просто создать фиктивный объект для самоанализа, но это кажется неправильным.