<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Extract an Attribute Value to Generate Output (Karma)</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
<link rel="home" href="../../../index.html" title="Spirit 2.4.1">
<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
<link rel="prev" href="clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)">
<link rel="next" href="iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
</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="clear_value.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="iterate.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="spirit.advanced.customize.extract_from"></a><a class="link" href="extract_from.html" title="Extract an Attribute Value to Generate Output (Karma)">Extract an
        Attribute Value to Generate Output (Karma)</a>
</h4></div></div></div>
<a name="spirit.advanced.customize.extract_from.extract_from"></a><h6>
<a name="id1175921"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.extract_from">extract_from</a>
        </h6>
<p>
          Before generating output for a value this value needs to extracted from
          the attribute instance provided by the user. The customization point <code class="computeroutput"><span class="identifier">extract_from</span></code> is utilized to adapt this
          extraction for any data type possibly used to store the values to output.
        </p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
            The interface of this customization point has been changed with Boost
            V1.44. We added the <code class="computeroutput"><span class="identifier">Exposed</span></code>
            template parameter to allow for more fine grained specializations of
            the required <span class="emphasis"><em>Spirit.Karma</em></span> attribute transformations.
          </p></td></tr>
</table></div>
<a name="spirit.advanced.customize.extract_from.module_headers"></a><h6>
<a name="id1175963"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.module_headers">Module
          Headers</a>
        </h6>
<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">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">karma</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">extract_from</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
          Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
        </p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
            This header file does not need to be included directly by any user program
            as it is normally included by other Spirit header files relying on its
            content.
          </p></td></tr>
</table></div>
<a name="spirit.advanced.customize.extract_from.namespace"></a><h6>
<a name="id1177309"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.namespace">Namespace</a>
        </h6>
<div class="informaltable"><table class="table">
<colgroup><col></colgroup>
<thead><tr><th>
                  <p>
                    Name
                  </p>
                </th></tr></thead>
<tbody><tr><td>
                  <p>
                    <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
                  </p>
                </td></tr></tbody>
</table></div>
<a name="spirit.advanced.customize.extract_from.synopsis"></a><h6>
<a name="id1177382"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.synopsis">Synopsis</a>
        </h6>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Exposed</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">extract_from_attribute</span>
<span class="special">{</span>
    <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">unspecified</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>

    <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
    <span class="keyword">static</span> <span class="identifier">type</span> <span class="identifier">call</span><span class="special">(</span><span class="identifier">Attrib</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">attr</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">&amp;</span> <span class="identifier">context</span><span class="special">);</span>
<span class="special">};</span>
</pre>
<a name="spirit.advanced.customize.extract_from.template_parameters"></a><h6>
<a name="id1177570"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.template_parameters">Template
          parameters</a>
        </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Parameter
                  </p>
                </th>
<th>
                  <p>
                    Description
                  </p>
                </th>
<th>
                  <p>
                    Default
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Exposed</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The type, <code class="computeroutput"><span class="identifier">Exposed</span></code>
                    of the attribute natively exposed by the component the <code class="computeroutput"><span class="identifier">extract_from</span></code> is invoked from.
                  </p>
                </td>
<td>
                  <p>
                    none
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Attrib</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The type, <code class="computeroutput"><span class="identifier">Attrib</span></code>
                    of the attribute to be used to generate output from.
                  </p>
                </td>
<td>
                  <p>
                    none
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Enable</span></code>
                  </p>
                </td>
<td>
                  <p>
                    Helper template parameter usable to selectively enable or disable
                    certain specializations of <code class="computeroutput"><span class="identifier">clear_value</span></code>
                    utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
                    or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="keyword">void</span></code>
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Context</span></code>
                  </p>
                </td>
<td>
                  <p>
                    This is the type of the current generator execution context.
                  </p>
                </td>
<td class="auto-generated">&#160;</td>
</tr>
</tbody>
</table></div>
<a name="spirit.advanced.customize.extract_from.notation"></a><h6>
<a name="id1177815"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.notation">Notation</a>
        </h6>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Exposed</span></code></span></dt>
<dd><p>
                A type exposed as the native attribute of a component.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Attrib</span></code></span></dt>
<dd><p>
                A type to be used to generate output from.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
<dd><p>
                A attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>.
              </p></dd>
</dl>
</div>
<a name="spirit.advanced.customize.extract_from.expression_semantics"></a><h6>
<a name="id1177903"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.expression_semantics">Expression
          Semantics</a>
        </h6>
<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>
                    
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">extract_from_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Attrib</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">attr</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">)</span></pre>
<p>
                  </p>
                </td>
<td>
                  <p>
                    Extract the value to generate output from and return it to the
                    caller.
                  </p>
                </td>
</tr></tbody>
</table></div>
<a name="spirit.advanced.customize.extract_from.predefined_specializations"></a><h6>
<a name="id1178020"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.predefined_specializations">Predefined
          Specializations</a>
        </h6>
<p>
          <a href="http://boost-spirit.com" target="_top">Spirit</a> predefines specializations
          of this customization point for several types. The following table lists
          those types together with the types exposed and the corresponding semantics:
        </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Template Parameters
                  </p>
                </th>
<th>
                  <p>
                    Value
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Attrib</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
                    is defined to <code class="computeroutput"><span class="identifier">Attrib</span>
                    <span class="keyword">const</span><span class="special">&amp;</span></code>.
                    The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns the argument by reference
                    without change.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
                    is defined to <code class="computeroutput"><span class="identifier">Attrib</span>
                    <span class="keyword">const</span><span class="special">&amp;</span></code>.
                    The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns the value held by the
                    <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code>
                    argument by reference without change.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
                    is defined to <code class="computeroutput"><span class="identifier">Attrib</span>
                    <span class="keyword">const</span><span class="special">&amp;</span></code>.
                    The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns the value held by the
                    <code class="computeroutput"><span class="identifier">reference_wrapper</span><span class="special">&lt;&gt;</span></code> argument by reference
                    without change.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">unused_type</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
                    is defined to <code class="computeroutput"><span class="identifier">unused_type</span></code>.
                    The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns an instance of <code class="computeroutput"><span class="identifier">unused_type</span></code>.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<a name="spirit.advanced.customize.extract_from.when_to_implement"></a><h6>
<a name="id1178372"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.when_to_implement">When
          to implement</a>
        </h6>
<p>
          The customization point <code class="computeroutput"><span class="identifier">extract_from_attribute</span></code>
          needs to be implemented for a specific type whenever the default implementation
          as shown above is not applicable. Examples for this could be that the type
          to be extracted is different from <code class="computeroutput"><span class="identifier">Attrib</span></code>
          and is not copy constructible.
        </p>
<a name="spirit.advanced.customize.extract_from.example"></a><h6>
<a name="id1178405"></a>
          <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.example">Example</a>
        </h6>
<p>
          TBD
        </p>
</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-2010 Joel de Guzman, Hartmut Kaiser<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="clear_value.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="iterate.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
