Например, предположим, у меня есть следующее определение структуры / подструктуры:
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
?
Адаптируйте обе структуры, это также помогает разбить ваши грамматики на каждый тип структуры (правило для адреса и правило для сотрудника, которое содержит правило адреса)
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)
)
Других решений пока нет …