<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_DEFINE_ASSOC_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT">
<link rel="next" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.define_assoc_struct"></a><a class="link" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT">BOOST_FUSION_DEFINE_ASSOC_STRUCT</a>
</h3></div></div></div>
<a name="fusion.adapted.define_assoc_struct.description"></a><h5>
<a name="id984861"></a>
        <a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.description">Description</a>
      </h5>
<p>
        BOOST_FUSION_DEFINE_ASSOC_STRUCT is a macro that can be used to generate
        all the necessary boilerplate to define and adapt an arbitrary struct as
        a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
        Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
        Sequence</a>.
      </p>
<a name="fusion.adapted.define_assoc_struct.synopsis"></a><h5>
<a name="id984887"></a>
        <a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.synopsis">Synopsis</a>
      </h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span>
    <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
    <span class="identifier">struct_name</span><span class="special">,</span>
    <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
    <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
    <span class="special">...</span>
    <span class="special">)</span>
</pre>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
<dd><p>
              An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
<dd><p>
              Heterogeneous values
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
<dd><p>
              A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
              Sequence</a>
            </p></dd>
</dl>
</div>
<a name="fusion.adapted.define_assoc_struct.expression_semantics"></a><h5>
<a name="id985091"></a>
        <a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.expression_semantics">Expression
        Semantics</a>
      </h5>
<p>
        The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
        Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
        Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
        declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>.
        It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code>
        of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
        <span class="identifier">struct_name</span></code>. If an empty namespace
        sequence is given (that is a macro that expands to nothing), the struct is
        placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
        <span class="identifier">member_nameN</span><span class="special">,</span>
        <span class="identifier">key_typeN</span><span class="special">)</span></code>
        triples declares the type, name and key type of each of the struct members
        that are part of the sequence.
      </p>
<p>
        The macro should be used at global scope. Semantics of an expression is defined
        only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
        Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
        Sequence</a>.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Expression
                </p>
              </th>
<th>
                <p>
                  Semantics
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code>
                </p>
              </td>
<td>
                <p>
                  Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
                  with default constructed elements.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span>
                  <span class="identifier">e1</span><span class="special">,...</span>
                  <span class="identifier">en</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
                  with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
                  from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
                  Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
                  <span class="identifier">fs</span></code>
                </p>
              </td>
<td>
                <p>
                  Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
                  Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
                </p>
              </td>
<td>
                <p>
                  Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="fusion.adapted.define_assoc_struct.header"></a><h5>
<a name="id985515"></a>
        <a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.header">Header</a>
      </h5>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.define_assoc_struct.example"></a><h5>
<a name="id985630"></a>
        <a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.example">Example</a>
      </h5>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">keys</span>
<span class="special">{</span>
    <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
    <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">}</span>

<span class="comment">// demo::employee is a Fusion sequence
</span><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span>
    <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span>
    <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
    <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
      Schwinger<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
