我有一个hana定义的结构,我知道我可以通过它进行迭代,但我想知道如何通过成员名来索引它?
#include <string>
#include <boost/hana.hpp>
int main()
{
struct Person {
BOOST_HANA_DEFINE_STRUCT(Person,
(std::string, name),
(int, age)
);
};
Person john{"john Dow", 30};
return 0;
}
有没有什么hana工具允许我这样做?get(john, "name")
并返回 john Dow
?
通过翻阅Hana文档中的例子,我发现下面的内容可能对你有用。
hana::find(john, BOOST_HANA_STRING("name"))
原来是这样的 钥匙我们可以用 hana::at_key(obj, key)