4

たとえば、次の構造体/サブ構造体の定義があるとします。

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

1 に答える 1

6

両方の構造体を適応させます。これは、文法を各構造体タイプに分解するのにも役立ちます (住所のルールと、住所ルールを含む従業員のルール)

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)
)
于 2012-11-26T13:33:40.947 に答える