<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template is_callable</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="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header &lt;boost/proto/traits.hpp&gt;">
<link rel="prev" href="result_of/child_c.html" title="Struct template child_c">
<link rel="next" href="is_aggregate.html" title="Struct template is_aggregate">
</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="result_of/child_c.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><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="is_aggregate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.proto.is_callable"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template is_callable</span></h2>
<p>boost::proto::is_callable &#8212; Boolean metafunction which tells whether a type is a callable
          <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> or not.</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header &lt;boost/proto/traits.hpp&gt;">boost/proto/traits.hpp</a>&gt;

</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
<span class="keyword">struct</span> <a class="link" href="is_callable.html" title="Struct template is_callable">is_callable</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_&lt;<em class="replaceable"><code>true-or-false</code></em>&gt; <span class="special">{</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="id2379431"></a><h2>Description</h2>
<p>
            <code class="computeroutput">proto::is_callable&lt;&gt;</code> is used by the
            <code class="computeroutput"><a class="link" href="when.html" title="Struct template when">proto::when&lt;&gt;</a></code>
            transform to determine whether a function type <code class="computeroutput">R(A<sub>1</sub>,...A<sub>n</sub>)</code>
            is a <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a> or an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>.
            The former are evaluated using <code class="computeroutput"><a class="link" href="call.html" title="Struct template call">proto::call&lt;&gt;</a></code>
            and the later with <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make&lt;&gt;</a></code>.
            If <code class="computeroutput">proto::is_callable&lt;R&gt;::value</code> is <code class="computeroutput">true</code>,
            the function type is a <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>; otherwise, it is an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>.
          </p>
<p>
            Unless specialized for a type
            <code class="computeroutput">T</code>, <code class="computeroutput">proto::is_callable&lt;T&gt;::value</code>
            is computed as follows:
            </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><p>
                  If <code class="computeroutput">T</code> is a template type
                  <code class="computeroutput">X&lt;Y<sub>0</sub>,...Y<sub>n</sub>&gt;</code>,
                  where all <code class="computeroutput">Y<sub>x</sub></code> are types for
                  <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>,
                  <code class="computeroutput">proto::is_callable&lt;T&gt;::value</code> is
                  <code class="computeroutput">boost::is_same&lt;Y<sub>n</sub>, <a class="link" href="callable.html" title="Struct callable">proto::callable</a>&gt;::value</code>.
                </p></li>
<li class="listitem"><p>
                  If <code class="computeroutput">T</code> is derived from <code class="computeroutput"><a class="link" href="callable.html" title="Struct callable">proto::callable</a></code>,
                  <code class="computeroutput">proto::is_callable&lt;T&gt;::value</code> is <code class="computeroutput">true</code>.
                </p></li>
<li class="listitem"><p>
                  Otherwise, <code class="computeroutput">proto::is_callable&lt;T&gt;::value</code>
                  is <code class="computeroutput">false</code>.
                </p></li>
</ul></div>
<p>
          </p>
</div>
</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; 2008 Eric Niebler<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="result_of/child_c.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><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="is_aggregate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
