Как использовать BOOST_FUSION_ADAPT_STRUCT с подструктурами?

Например, предположим, у меня есть следующее определение структуры / подструктуры:

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?

4

Решение

Адаптируйте обе структуры, это также помогает разбить ваши грамматики на каждый тип структуры (правило для адреса и правило для сотрудника, которое содержит правило адреса)

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)
)
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]