<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Transform an Attribute to a Different Type (Qi and 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.5">
<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
<link rel="prev" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Qi and Karma)">
<link rel="next" href="assign_to.html" title="Store a Parsed Attribute Value (Qi)">
</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="handles_container.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="assign_to.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.transform"></a><a class="link" href="transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)">Transform an Attribute
        to a Different Type (Qi and Karma)</a>
</h4></div></div></div>
<a name="spirit.advanced.customize.transform.transform_attribute"></a><h6>
<a name="spirit.advanced.customize.transform.transform_attribute-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.transform_attribute">transform_attribute</a>
        </h6>
<p>
          The template <code class="computeroutput"><span class="identifier">transform_attribute</span></code>
          is a type used as an attribute customization point. It is invoked by <span class="emphasis"><em>Qi</em></span>
          <code class="computeroutput"><span class="identifier">rule</span></code>, semantic action and
          <code class="computeroutput"><span class="identifier">attr_cast</span></code>, and <span class="emphasis"><em>Karma</em></span>
          <code class="computeroutput"><span class="identifier">rule</span></code>, semantic action and
          <a class="link" href="../../karma/reference/auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Generator (attr_cast)"><code class="computeroutput"><span class="identifier">attr_cast</span></code></a>. It is used to automatically
          transform the user provided attribute to the attribute type expected by
          the right hand side component (for <code class="computeroutput"><span class="identifier">rule</span></code>),
          the semantic action, or the embedded component (for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
        </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">Domain</span></code>
            template parameter to allow for more fine grained specializations for
            <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>.
          </p></td></tr>
</table></div>
<a name="spirit.advanced.customize.transform.module_headers"></a><h6>
<a name="spirit.advanced.customize.transform.module_headers-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.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">support</span><span class="special">/</span><span class="identifier">attributes</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.transform.namespace"></a><h6>
<a name="spirit.advanced.customize.transform.namespace-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.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.transform.synopsis"></a><h6>
<a name="spirit.advanced.customize.transform.synopsis-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.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">Transformed</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Domain</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">transform_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">static</span> <span class="identifier">type</span> <span class="identifier">pre</span><span class="special">(</span><span class="identifier">Exposed</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
    <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">post</span><span class="special">(</span><span class="identifier">Exposed</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">type</span> <span class="identifier">attr</span><span class="special">);</span>    <span class="comment">// Qi only
</span>    <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">fail</span><span class="special">(</span><span class="identifier">Exposed</span><span class="special">&amp;);</span>                   <span class="comment">// Qi only
</span><span class="special">};</span>
</pre>
<a name="spirit.advanced.customize.transform.template_parameters"></a><h6>
<a name="spirit.advanced.customize.transform.template_parameters-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.template_parameters">Template
          parameters</a>
        </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<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 attribute type supplied to the component which needs to be
                    transformed.
                  </p>
                </td>
<td>
                  <p>
                    none
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Transformed</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The attribute type expected by the component to be provided as
                    the result of the transformation.
                  </p>
                </td>
<td>
                  <p>
                    none
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Domain</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The domain of the sub library the template is instantiated in.
                    Typically this is either <code class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span></code>
                    or <code class="computeroutput"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">domain</span></code>.
                  </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">transform_attribute</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>
</tbody>
</table></div>
<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>
                The type, <code class="computeroutput"><span class="identifier">Exposed</span></code>
                is the type of the attribute as passed in by the user.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Transformed</span></code></span></dt>
<dd><p>
                The type, <code class="computeroutput"><span class="identifier">Transformed</span></code>
                is the type of the attribute as passed along to the right hand side
                of the <code class="computeroutput"><span class="identifier">rule</span></code> (embedded
                component of <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Domain</span></code></span></dt>
<dd><p>
                The domain of the sub library the template is instantiated in. Typically
                this is either <code class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span></code>
                or <code class="computeroutput"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">domain</span></code>.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">exposed</span></code></span></dt>
<dd><p>
                An instance of type <code class="computeroutput"><span class="identifier">Exposed</span></code>.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">transformed</span></code></span></dt>
<dd><p>
                An instance of type <code class="computeroutput"><span class="identifier">Transformed</span></code>.
              </p></dd>
</dl>
</div>
<a name="spirit.advanced.customize.transform.expression_semantics"></a><h6>
<a name="spirit.advanced.customize.transform.expression_semantics-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.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>
                    <code class="computeroutput"><span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
                  </p>
                </td>
<td>
                  <p>
                    Evaluates to the type to be used as the result of the transformation
                    (to be passed to the right hand side of the <code class="computeroutput"><span class="identifier">rule</span></code>
                    or to the embedded component of the <code class="computeroutput"><span class="identifier">attr_cast</span></code>.
                    Most of the time this is equal to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
                    but in other cases this might evaluate to <code class="computeroutput"><span class="identifier">Transformed</span><span class="special">&amp;</span></code> instead avoiding superfluous
                    object creation.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">type</span> <span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">&gt;::</span><span class="identifier">pre</span><span class="special">(</span><span class="identifier">exposed</span><span class="special">)</span></pre>
<p>
                  </p>
                </td>
<td>
                  <p>
                    Do <code class="computeroutput"><span class="identifier">pre</span></code>-transformation
                    before invoking the right hand side component for <code class="computeroutput"><span class="identifier">rule</span></code> (or the embedded component
                    for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
                    This takes the attribute supplied as by the user (of type <code class="computeroutput"><span class="identifier">Exposed</span></code>) and returns the attribute
                    to be passed down the component hierarchy (of the type as exposed
                    by the metafunction <code class="computeroutput"><span class="identifier">type</span></code>).
                    This function will be called in <span class="emphasis"><em>Qi</em></span> and for
                    <span class="emphasis"><em>Karma</em></span>.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">&gt;::</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">exposed</span><span class="special">,</span> <span class="identifier">transformed</span><span class="special">)</span></pre>
<p>
                  </p>
                </td>
<td>
                  <p>
                    Do <code class="computeroutput"><span class="identifier">post</span></code>-transformation
                    after the invocation of the right hand side component for <code class="computeroutput"><span class="identifier">rule</span></code> (or the embedded component
                    for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
                    This takes the original attribute as supplied by the user and
                    the attribute as returned from the right hand side (embedded)
                    component and is expected to propagate the result back into the
                    supplied attribute instance. This function will be called in
                    <span class="emphasis"><em>Qi</em></span> only.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">&gt;::</span><span class="identifier">fail</span><span class="special">(</span><span class="identifier">exposed</span><span class="special">)</span></pre>
<p>
                  </p>
                </td>
<td>
                  <p>
                    Handling failing parse operations of the right hand side component
                    for <code class="computeroutput"><span class="identifier">rule</span></code> (or
                    the embedded component for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
                    This function will be called in <span class="emphasis"><em>Qi</em></span> only.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<a name="spirit.advanced.customize.transform.predefined_specializations"></a><h6>
<a name="spirit.advanced.customize.transform.predefined_specializations-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.predefined_specializations">Predefined
          Specializations</a>
        </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Template parameters
                  </p>
                </th>
<th>
                  <p>
                    Semantics
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Exposed</span></code>, <code class="computeroutput"><span class="identifier">Transformed</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">type</span></code> evaluates
                    to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    returns a new instance of <code class="computeroutput"><span class="identifier">Transformed</span></code>
                    constructed from the argument of type <code class="computeroutput"><span class="identifier">Exposed</span></code>,
                    <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
                    assigns <code class="computeroutput"><span class="identifier">transformed</span></code>
                    to <code class="computeroutput"><span class="identifier">exposed</span></code>.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">&gt;</span></code>,
                    <code class="computeroutput"><span class="identifier">Transformed</span></code>,
                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">disable_if</span><span class="special">&lt;</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">&gt;,</span> <span class="identifier">Transformed</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">type</span></code> evaluates
                    to <code class="computeroutput"><span class="identifier">Transformed</span><span class="special">&amp;</span></code>, <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code> returns a reference to the
                    instance of <code class="computeroutput"><span class="identifier">Transformed</span></code>
                    stored in the passed optional (the argument of type <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">&gt;</span></code>),
                    the optional instance is initialized, if needed. <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
                    does nothing, <code class="computeroutput"><span class="identifier">fail</span><span class="special">()</span></code> resets the optional (its parameter)
                    instance to the non-initialized state.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Exposed</span><span class="special">&amp;</span></code>,
                    <code class="computeroutput"><span class="identifier">Transformed</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">type</span></code> evaluates
                    to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    returns a new instance of <code class="computeroutput"><span class="identifier">Transformed</span></code>
                    constructed from the argument of type <code class="computeroutput"><span class="identifier">Exposed</span></code>,
                    <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
                    assigns <code class="computeroutput"><span class="identifier">transformed</span></code>
                    to <code class="computeroutput"><span class="identifier">exposed</span></code>.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Attrib</span><span class="special">&amp;</span></code>,
                    <code class="computeroutput"><span class="identifier">Attrib</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">type</span></code> evaluates
                    to <code class="computeroutput"><span class="identifier">Attrib</span><span class="special">&amp;</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> does nothing.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Exposed</span> <span class="keyword">const</span></code>,
                    <code class="computeroutput"><span class="identifier">Transformed</span></code>
                  </p>
                </td>
<td>
                  <p>
                    (usind in <span class="emphasis"><em>Karma</em></span> only) <code class="computeroutput"><span class="identifier">type</span></code>
                    evaluates to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> is not implemented.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Attrib</span> <span class="keyword">const</span><span class="special">&amp;</span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code>
                  </p>
                </td>
<td>
                  <p>
                    (usind in <span class="emphasis"><em>Karma</em></span> only) <code class="computeroutput"><span class="identifier">type</span></code>
                    evaluates to <code class="computeroutput"><span class="identifier">Attrib</span>
                    <span class="keyword">const</span><span class="special">&amp;</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> is not implemented.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Attrib</span> <span class="keyword">const</span></code>,
                    <code class="computeroutput"><span class="identifier">Attrib</span></code>
                  </p>
                </td>
<td>
                  <p>
                    (usind in <span class="emphasis"><em>Karma</em></span> only) <code class="computeroutput"><span class="identifier">type</span></code>
                    evaluates to <code class="computeroutput"><span class="identifier">Attrib</span>
                    <span class="keyword">const</span><span class="special">&amp;</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> is not implemented.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">unused_type</span></code>,
                    <code class="computeroutput"><span class="identifier">Attrib</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">type</span></code> evaluates
                    to <code class="computeroutput"><span class="identifier">unused_type</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    and <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
                    do nothing.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">Attrib</span></code>, <code class="computeroutput"><span class="identifier">unused_type</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">type</span></code> evaluates
                    to <code class="computeroutput"><span class="identifier">unused_type</span></code>,
                    <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
                    and <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
                    do nothing.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<a name="spirit.advanced.customize.transform.when_to_implement"></a><h6>
<a name="spirit.advanced.customize.transform.when_to_implement-heading"></a>
          <a class="link" href="transform.html#spirit.advanced.customize.transform.when_to_implement">When
          to implement</a>
        </h6>
<p>
          The customization point <code class="computeroutput"><span class="identifier">transform_attribute</span></code>
          needs to be implemented for a specific pair of types whenever the attribute
          type supplied to a <code class="computeroutput"><span class="identifier">rule</span></code>
          or <code class="computeroutput"><span class="identifier">attr_cast</span></code> cannot automatically
          transformed to the attribute type expected by the right hand side of the
          <code class="computeroutput"><span class="identifier">rule</span></code> (embedded component
          of the <code class="computeroutput"><span class="identifier">attr_cast</span></code>) because
          the default implementation as shown above is not applicable. Examples for
          this could be that the type <code class="computeroutput"><span class="identifier">Transformed</span></code>
          is not constructible from the type <code class="computeroutput"><span class="identifier">Exposed</span></code>.
        </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-2011 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="handles_container.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="assign_to.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
