【问题标题】:How to use BOOST_FUSION_ADAPT_STRUCT with substructures?如何将 BOOST_FUSION_ADAPT_STRUCT 与子结构一起使用?
【发布时间】:2012-11-26 13:15:08
【问题描述】:
例如,假设我有以下结构/子结构定义:
struct address_rec
{
std::string m_street;
std::string m_state;
unsigned m_zip;
};
struct employee_rec
{
std::string m_name;
address_rec m_address;
};
我应该如何在employee_rec 上使用BOOST_FUSION_ADAPT_STRUCT?
【问题讨论】:
标签:
c++
boost-spirit
boost-fusion
【解决方案1】:
调整这两种结构,它也有助于将你的语法分解为每种结构类型,(地址规则和包含地址规则的员工规则)
struct address_rec
{
std::string m_street;
std::string m_state;
unsigned m_zip;
};
BOOST_FUSION_ADAPT_STRUCT(
::address_rec,
(std::string, m_street)
(std::string, m_state)
(unsigned, m_zip)
)
struct employee_rec
{
std::string m_name;
address_rec m_address;
};
BOOST_FUSION_ADAPT_STRUCT(
::employee_rec,
(std::string, m_name)
(address_rec, m_address)
)