Patches for Codegear C++ Builder 2009

[SVN r48981]
This commit is contained in:
Nicola Musatti
2008-09-27 08:59:20 +00:00
42 changed files with 981 additions and 722 deletions

View File

@@ -2,7 +2,7 @@
# (C) Copyright Tobias Schwinger
#
# Use modification and distribution are subject to the boost Software License,
# Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
# Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
using quickbook ;
@@ -13,8 +13,7 @@ boostbook standalone
:
<xsl:param>boost.root=../../../..
<xsl:param>boost.libraries=../../../libraries.htm
<xsl:param>nav.layout=none
<xsl:param>navig.graphics=0
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
<xsl:param>chunk.first.sections=1
<xsl:param>chunk.section.depth=2
<xsl:param>generate.section.toc.level=2

View File

@@ -897,7 +897,7 @@ definition of [^BOOST_FT_CC_NAMES]:
[section:BOOST_FT_CC BOOST_FT\_CC\_*]
Enables a specific calling convention. * dentoes the macro suffix, as
Enables a specific calling convention. * denotes the macro suffix, as
defined by
[link boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES [^BOOST_FT_CC_NAMES]]
or
@@ -1086,6 +1086,7 @@ Thanks go to the following people for supporting the development of this
library in one or the other way:
* David Abrahams
* Tom Brinkman
* Aleksey Gurtovoy
* Jody Hagins
* Hartmut Kaiser
@@ -1093,9 +1094,12 @@ library in one or the other way:
* John Maddock
* Paul Mensonides
* Alexander Nasonov
* Richard Smith
* Rob Stewart
* Jonathan Turkanis
* Pavel Vozenilek
* Steven Watanabe
* K. Noel Belcourt
[endsect]

View File

@@ -1,23 +1,31 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> About Tag Types</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>About Tag Types</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="prev" href="use_cases.html" title=" Use Cases">
<link rel="next" href="reference.html" title=" Reference">
<link rel="prev" href="use_cases.html" title="Use Cases">
<link rel="next" href="reference.html" title="Reference">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
<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="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="use_cases.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference.html">Next</a>
<a accesskey="p" href="use_cases.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.about_tag_types"></a><a href="about_tag_types.html" title=" About Tag Types"> About Tag Types</a></h2></div></div></div>
<a name="boost_functiontypes.about_tag_types"></a><a class="link" href="about_tag_types.html" title="About Tag Types"> About Tag Types</a>
</h2></div></div></div>
<p>
Boost.FunctionTypes uses tag types to encode properties that are not types
per se, such as calling convention or whether a function is variadic or cv-
@@ -77,11 +85,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="use_cases.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference.html">Next</a>
<a accesskey="p" href="use_cases.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,22 +1,30 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Acknowledgements</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="prev" href="rationale.html" title=" Rationale">
<link rel="prev" href="rationale.html" title="Rationale">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
<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="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="rationale.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a>
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.acknowledgements"></a><a href="acknowledgements.html" title=" Acknowledgements"> Acknowledgements</a></h2></div></div></div>
<a name="boost_functiontypes.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements"> Acknowledgements</a>
</h2></div></div></div>
<p>
Thanks go to the following people for supporting the development of this library
in one or the other way:
@@ -25,6 +33,9 @@
<li>
David Abrahams
</li>
<li>
Tom Brinkman
</li>
<li>
Aleksey Gurtovoy
</li>
@@ -46,6 +57,9 @@
<li>
Alexander Nasonov
</li>
<li>
Richard Smith
</li>
<li>
Rob Stewart
</li>
@@ -55,15 +69,25 @@
<li>
Pavel Vozenilek
</li>
<li>
Steven Watanabe
</li>
<li>
K. Noel Belcourt
</li>
</ul></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"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="rationale.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a>
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
</div>
</body>
</html>

View File

@@ -1,23 +1,31 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Introduction</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Introduction</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="prev" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="next" href="use_cases.html" title=" Use Cases">
<link rel="next" href="use_cases.html" title="Use Cases">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
<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="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="../index.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="use_cases.html">Next</a>
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="use_cases.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.introduction"></a><a href="introduction.html" title=" Introduction"> Introduction</a></h2></div></div></div>
<a name="boost_functiontypes.introduction"></a><a class="link" href="introduction.html" title="Introduction"> Introduction</a>
</h2></div></div></div>
<p>
Boost.FunctionTypes provides functionality to classify, decompose and synthesize
function, function pointer, function reference and pointer to member types.
@@ -49,39 +57,38 @@
constant called <code class="literal">value</code>.
</p>
<pre class="programlisting">
<a href="reference/classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="
is_function_pointer">is_function_pointer</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="comment">// == true
<a class="link" href="reference/classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="is_function_pointer">is_function_pointer</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="comment">// == true
</span>
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
function_arity">function_arity</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="comment">// == 1
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">function_arity</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="comment">// == 1
</span></pre>
<p>
Templates that encapsulate properties that are single types contain a type
member called <code class="literal">type</code>.
</p>
<pre class="programlisting">
<a href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="
function_type">function_type</a><span class="special">&lt;</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="comment">// is bool(int)
<a class="link" href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="function_type">function_type</a><span class="special">&lt;</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="comment">// is bool(int)
</span>
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="
result_type">result_type</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(&amp;)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="comment">// is bool
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="result_type">result_type</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(&amp;)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="comment">// is bool
</span></pre>
<p>
Templates that encapsulate properties that are type lists model an MPL-compatible
type sequence.
</p>
<pre class="programlisting">
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
parameter_types">parameter_types</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;</span> <span class="comment">// models an MPL sequence
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">parameter_types</a><span class="special">&lt;</span> <span class="keyword">bool</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">&gt;</span> <span class="comment">// models an MPL sequence
</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"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="../index.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="use_cases.html">Next</a>
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="use_cases.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,28 +1,36 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Rationale</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Rationale</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="prev" href="reference/macros.html" title=" Macros">
<link rel="next" href="acknowledgements.html" title=" Acknowledgements">
<link rel="prev" href="reference/macros.html" title="Macros">
<link rel="next" href="acknowledgements.html" title="Acknowledgements">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
<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="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="reference/macros.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="acknowledgements.html">Next</a>
<a accesskey="p" href="reference/macros.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.rationale"></a><a href="rationale.html" title=" Rationale"> Rationale</a></h2></div></div></div>
<a name="boost_functiontypes.rationale.error_handling_rationale"></a><h3>
<a name="id931925"></a>
<a href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
<a name="boost_functiontypes.rationale"></a><a class="link" href="rationale.html" title="Rationale"> Rationale</a>
</h2></div></div></div>
<a name="boost_functiontypes.rationale.error_handling_rationale"></a><h4>
<a name="id2644279"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
handling rationale</a>
</h3>
</h4>
<p>
The library does not define the required members of class templates in case
of an error. This technique causes the compiler to stop displaying diagnostics
@@ -33,10 +41,10 @@
The library's components have limited error conditions, so problematic input
can be spotted easily.
</p>
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h3>
<a name="id931962"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
</h3>
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h4>
<a name="id2644312"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
</h4>
<p>
MPL provides algorithms on Sequences, so transformations (such as turning by-value
parameter types into const references for optimized forwarding or computing
@@ -46,23 +54,20 @@
other Boost libraries (most importantly <a href="../../../../fusion/index.html" target="_top">Fusion</a>),
so another reason is interoperability.
</p>
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h3>
<a name="id932020"></a>
<a href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h4>
<a name="id2644363"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
to member object types</a>
</h3>
</h4>
<p>
Despite their syntax, pointer to member object types can be seen as dereferencing
functionals. A reference is <span class="bold"><strong>not</strong></span> added to the
"result", however, to allow greater flexibility (once a reference
has been added there's no way to determine whether the referencee was a reference
already).
functionals.
</p>
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h3>
<a name="id932060"></a>
<a href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h4>
<a name="id2644388"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
ClassTransform template parameter</a>
</h3>
</h4>
<p>
<code class="literal">This</code>-pointer, <code class="literal">this</code>-reference or just
the object (or maybe even a smart pointer to the object) plus adjustments of
@@ -75,10 +80,10 @@
client to adjust the class type before the sequence is formed and then treat
all parameters uniformly.
</p>
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h3>
<a name="id932116"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
</h3>
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h4>
<a name="id2644439"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
</h4>
<p>
Let's consider the alternatives.
</p>
@@ -94,12 +99,12 @@
parameters do not work within MPL lambda expressions and can cause problems
with older compilers.
</p>
<a name="boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_"></a><h3>
<a name="id932166"></a>
<a href="rationale.html#boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_">Is
<a name="boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_"></a><h4>
<a name="id2644479"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_">Is
it safe to have the synthesis templates take a callable builtin type or an
MPL sequence as the first template argument?</a>
</h3>
</h4>
<p>
Yes, but it isn't immediately obvious as the set of possible MPL sequences
isn't inherently disjoint from the set of callable builtin types.
@@ -109,25 +114,23 @@
idea, because builtin types are accessible before the headers that make the
type a sequence have been included, which can easily violate the ODR.
</p>
<a name="boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_"></a><h3>
<a name="id932214"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_">Why
<a name="boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_"></a><h4>
<a name="id2644521"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_">Why
does the hidden <code class="literal">this</code> parameter count for the function arity
of member functions?</a>
</h3>
</h4>
<p>
It was found preferable that the following condition holds:
</p>
<pre class="programlisting">
<span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span> <a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
parameter_types">parameter_types</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">==</span> <a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
function_arity">function_arity</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span>
<span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span> <a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">parameter_types</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">==</span> <a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">function_arity</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span>
</pre>
<a name="boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_"></a><h3>
<a name="id932341"></a>
<a href="rationale.html#boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_">Why
<a name="boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_"></a><h4>
<a name="id2644638"></a>
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_">Why
ignore top-level cv-qualifiers on pointers?</a>
</h3>
</h4>
<p>
A cv-qualified pointer is still a pointer. It usually doesn't matter and even
if it does, it's a job for <a href="../../../../type_traits/index.html" target="_top">Boost.TypeTraits</a>.
@@ -135,11 +138,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="reference/macros.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="acknowledgements.html">Next</a>
<a accesskey="p" href="reference/macros.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,24 +1,31 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Reference</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Reference</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="prev" href="about_tag_types.html" title=" About Tag Types">
<link rel="next" href="reference/classification.html" title=" Class
templates for type classification">
<link rel="prev" href="about_tag_types.html" title="About Tag Types">
<link rel="next" href="reference/classification.html" title="Class templates for type classification">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
<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="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="about_tag_types.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference/classification.html">Next</a>
<a accesskey="p" href="about_tag_types.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/classification.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.reference"></a><a href="reference.html" title=" Reference"> Reference</a></h2></div></div></div>
<a name="boost_functiontypes.reference"></a><a class="link" href="reference.html" title="Reference"> Reference</a>
</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="reference/classification.html"> Class
templates for type classification</a></span></dt>
@@ -32,11 +39,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="about_tag_types.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference/classification.html">Next</a>
<a accesskey="p" href="about_tag_types.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/classification.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,27 +1,32 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Class
templates for type classification</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Class templates for type classification</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">
<link rel="prev" href="../reference.html" title=" Reference">
<link rel="next" href="decomposition.html" title=" Class templates
for type decomposition">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="../reference.html" title="Reference">
<link rel="next" href="decomposition.html" title="Class templates for type decomposition">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
<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="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="../reference.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="decomposition.html">Next</a>
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="decomposition.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_functiontypes.reference.classification"></a><a href="classification.html" title=" Class
templates for type classification"> Class
templates for type classification</a></h3></div></div></div>
<a name="boost_functiontypes.reference.classification"></a><a class="link" href="classification.html" title="Class templates for type classification"> Class
templates for type classification</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="classification.html#boost_functiontypes.reference.classification.is_function">
is_function</a></span></dt>
@@ -42,12 +47,11 @@
</dl></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_function"></a><a href="classification.html#boost_functiontypes.reference.classification.is_function" title="
is_function">
is_function</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_function"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_function" title="is_function">
is_function</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_function</span><span class="special">;</span>
</pre>
<p>
@@ -60,23 +64,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_function&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</dd>
<dd><p>
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_function&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -86,12 +90,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_function_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="
is_function_pointer">
is_function_pointer</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_function_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="is_function_pointer">
is_function_pointer</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_function_pointer</span><span class="special">;</span>
</pre>
<p>
@@ -104,21 +107,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_function_pointer&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
</dd>
<dd><p>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_function_pointer&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -128,12 +133,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_function_reference"></a><a href="classification.html#boost_functiontypes.reference.classification.is_function_reference" title="
is_function_reference">
is_function_reference</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_function_reference"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_function_reference" title="is_function_reference">
is_function_reference</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_function_reference</span><span class="special">;</span>
</pre>
<p>
@@ -146,21 +150,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_function_reference&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
</dd>
<dd><p>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_function_reference&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -170,12 +176,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_member_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_member_pointer" title="
is_member_pointer">
is_member_pointer</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_member_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_member_pointer" title="is_member_pointer">
is_member_pointer</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_member_pointer</span><span class="special">;</span>
</pre>
<p>
@@ -188,21 +193,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_member_pointer&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
</dd>
<dd><p>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_member_pointer&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -212,9 +219,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_member_object_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_member_object_pointer" title="
is_member_object_pointer">
is_member_object_pointer</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_member_object_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_member_object_pointer" title="is_member_object_pointer">
is_member_object_pointer</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_member_object_pointer</span><span class="special">;</span>
@@ -229,17 +236,19 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">is_member_object_pointer&lt;T&gt;</code></span></dt>
<dd>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
</dd>
<dd><p>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_member_object_pointer&lt;T&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -248,12 +257,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_member_function_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_member_function_pointer" title="
is_member_function_pointer">
is_member_function_pointer</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_member_function_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_member_function_pointer" title="is_member_function_pointer">
is_member_function_pointer</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_member_function_pointer</span><span class="special">;</span>
</pre>
<p>
@@ -266,21 +274,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_member_function_pointer&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
</dd>
<dd><p>
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_member_function_pointer&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -290,12 +300,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_callable_builtin"></a><a href="classification.html#boost_functiontypes.reference.classification.is_callable_builtin" title="
is_callable_builtin">
is_callable_builtin</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_callable_builtin"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_callable_builtin" title="is_callable_builtin">
is_callable_builtin</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_callable_builtin</span><span class="special">;</span>
</pre>
<p>
@@ -308,23 +317,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_callable_builtin&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</dd>
<dd><p>
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_callable_builtin&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -334,12 +343,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.classification.is_nonmember_callable_builtin"></a><a href="classification.html#boost_functiontypes.reference.classification.is_nonmember_callable_builtin" title="
is_nonmember_callable_builtin">
is_nonmember_callable_builtin</a></h4></div></div></div>
<a name="boost_functiontypes.reference.classification.is_nonmember_callable_builtin"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_nonmember_callable_builtin" title="is_nonmember_callable_builtin">
is_nonmember_callable_builtin</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_nonmember_callable_builtin</span><span class="special">;</span>
</pre>
<p>
@@ -352,23 +360,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties required for a positive result
</dd>
<dd><p>
Further properties required for a positive result
</p></dd>
<dt><span class="term"><code class="literal">is_nonmember_callable_builtin&lt;T,Tag&gt;</code></span></dt>
<dd>
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</dd>
<dd><p>
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">is_nonmember_callable_builtin&lt;T,Tag&gt;::value</code></span></dt>
<dd>
Constant boolean value
</dd>
<dd><p>
Constant boolean value
</p></dd>
</dl>
</div>
<p>
@@ -380,11 +388,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="../reference.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="decomposition.html">Next</a>
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="decomposition.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,28 +1,32 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Class templates
for type decomposition</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Class templates for type decomposition</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">
<link rel="prev" href="classification.html" title=" Class
templates for type classification">
<link rel="next" href="synthesis.html" title=" Class templates
for type synthesis">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="classification.html" title="Class templates for type classification">
<link rel="next" href="synthesis.html" title="Class templates for type synthesis">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
<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="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="classification.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="synthesis.html">Next</a>
<a accesskey="p" href="classification.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synthesis.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_functiontypes.reference.decomposition"></a><a href="decomposition.html" title=" Class templates
for type decomposition"> Class templates
for type decomposition</a></h3></div></div></div>
<a name="boost_functiontypes.reference.decomposition"></a><a class="link" href="decomposition.html" title="Class templates for type decomposition"> Class templates
for type decomposition</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="decomposition.html#boost_functiontypes.reference.decomposition.result_type">
result_type</a></span></dt>
@@ -35,9 +39,9 @@
</dl></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.decomposition.result_type"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="
result_type">
result_type</a></h4></div></div></div>
<a name="boost_functiontypes.reference.decomposition.result_type"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="result_type">
result_type</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result_type</span><span class="special">;</span>
@@ -52,13 +56,13 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">F</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">result_type&lt;F&gt;::type</code></span></dt>
<dd>
Result type of <code class="literal">F</code>
</dd>
<dd><p>
Result type of <code class="literal">F</code>
</p></dd>
</dl>
</div>
<p>
@@ -71,9 +75,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.decomposition.parameter_types"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
parameter_types">
parameter_types</a></h4></div></div></div>
<a name="boost_functiontypes.reference.decomposition.parameter_types"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">
parameter_types</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ClassTransform</span> <span class="special">=</span> <span class="identifier">add_reference</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">parameter_types</span><span class="special">;</span>
@@ -88,23 +92,23 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">F</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">ClassTransform</code></span></dt>
<dd>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
Expression</a> to transform the class type if <code class="literal">F</code>
is a member function pointer
</dd>
<dd><p>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
Expression</a> to transform the class type if <code class="literal">F</code>
is a member function pointer
</p></dd>
<dt><span class="term"><code class="literal">parameter_types&lt;F,ClassTransform&gt;</code></span></dt>
<dd>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
Access Sequence</a> of parameter types
</dd>
<dd><p>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
Access Sequence</a> of parameter types
</p></dd>
</dl>
</div>
<p>
@@ -117,9 +121,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.decomposition.function_arity"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
function_arity">
function_arity</a></h4></div></div></div>
<a name="boost_functiontypes.reference.decomposition.function_arity"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">
function_arity</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">function_arity</span><span class="special">;</span>
@@ -134,19 +138,19 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">F</code></span></dt>
<dd>
Callable builtin type
</dd>
<dd><p>
Callable builtin type
</p></dd>
<dt><span class="term"><code class="literal">function_arity&lt;F&gt;</code></span></dt>
<dd>
Function arity as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</dd>
<dd><p>
Function arity as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
Constant</a>
</p></dd>
<dt><span class="term"><code class="literal">function_arity&lt;F&gt;::value</code></span></dt>
<dd>
Constant value of the function arity
</dd>
<dd><p>
Constant value of the function arity
</p></dd>
</dl>
</div>
<p>
@@ -162,9 +166,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.decomposition.components"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.components" title="
components">
components</a></h4></div></div></div>
<a name="boost_functiontypes.reference.decomposition.components"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.components" title="components">
components</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ClassTransform</span> <span class="special">=</span> <span class="identifier">add_reference</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">components</span><span class="special">;</span>
@@ -179,27 +183,27 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">T</code></span></dt>
<dd>
Type to analyze
</dd>
<dd><p>
Type to analyze
</p></dd>
<dt><span class="term"><code class="literal">ClassTransform</code></span></dt>
<dd>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
Expression</a> to transform the class type if <code class="literal">T</code>
is a member function pointer
</dd>
<dd><p>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
Expression</a> to transform the class type if <code class="literal">T</code>
is a member function pointer
</p></dd>
<dt><span class="term"><code class="literal">components&lt;T,ClassTransform&gt;</code></span></dt>
<dd>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
Access Sequence</a> of all component types and property tag
</dd>
<dd><p>
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
Access Sequence</a> of all component types and property tag
</p></dd>
<dt><span class="term"><code class="literal">components&lt;T,ClassTransform&gt;::types</code></span></dt>
<dd>
Decorated MPL Sequence, exposed for optimization
</dd>
<dd><p>
Decorated MPL Sequence, exposed for optimization
</p></dd>
</dl>
</div>
<p>
@@ -209,18 +213,21 @@
</p>
<p>
If <code class="literal">T</code> is no callable builtin type, the component types
are an empty sequence and the Tag's meaning is equivalent to the <code class="literal"><a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a></code>.
are an empty sequence and the Tag's meaning is equivalent to the <code class="literal"><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a></code>.
</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"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="classification.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="synthesis.html">Next</a>
<a accesskey="p" href="classification.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synthesis.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,23 +1,31 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Macros</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">
<link rel="prev" href="tag_types.html" title=" Tag Types">
<link rel="next" href="../rationale.html" title=" Rationale">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="tag_types.html" title="Tag Types">
<link rel="next" href="../rationale.html" title="Rationale">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
<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="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="tag_types.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="../rationale.html">Next</a>
<a accesskey="p" href="tag_types.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../rationale.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_functiontypes.reference.macros"></a><a href="macros.html" title=" Macros"> Macros</a></h3></div></div></div>
<a name="boost_functiontypes.reference.macros"></a><a class="link" href="macros.html" title="Macros"> Macros</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY">
BOOST_FT_MAX_ARITY</a></span></dt>
@@ -40,9 +48,9 @@
</dl></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY" title="
BOOST_FT_MAX_ARITY">
BOOST_FT_MAX_ARITY</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY" title="BOOST_FT_MAX_ARITY">
BOOST_FT_MAX_ARITY</a>
</h4></div></div></div>
<p>
Expands to a numeric value that describes the maximum function arity supported
by the library.
@@ -59,17 +67,16 @@
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
BOOST_FT_CC_NAMES">
BOOST_FT_CC_NAMES</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES">
BOOST_FT_CC_NAMES</a>
</h4></div></div></div>
<p>
Expands to a <a href="../../../../../preprocessor/doc/data/sequences.html" target="_top">sequence</a>
of ternary <a href="../../../../../preprocessor/doc/data/tuples.html" target="_top">tuples</a>
(these data types are defined in the <a href="../../../../../preprocessor/doc/index.html" target="_top">documentation
of the Boost Preprocessor library</a>). Each sequence element describes
one calling convention specifier. The first element in each tuple is the
macro suffix for <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="
BOOST_FT_CC_*"><code class="literal">BOOST_FT_CC_*</code></a>,
macro suffix for <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="BOOST_FT_CC_*"><code class="literal">BOOST_FT_CC_*</code></a>,
the second element is the name of the tag that describes the calling convention
and the third is the name of the specifier. The specifier is allowed to
be an empty string, so the third tuple element is either <a href="../../../../../preprocessor/doc/ref/empty.html" target="_top"><code class="literal">BOOST_PP_EMPTY</code></a>
@@ -99,15 +106,13 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="
BOOST_FT_CC_*">
BOOST_FT_CC_*</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="BOOST_FT_CC_*">
BOOST_FT_CC_*</a>
</h4></div></div></div>
<p>
Enables a specific calling convention. * dentoes the macro suffix, as defined
by <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
or <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_BUILTIN_CC_NAMES</code></a>.
Enables a specific calling convention. * denotes the macro suffix, as defined
by <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
or <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_BUILTIN_CC_NAMES</code></a>.
</p>
<p>
The macro expands to a list of restrictions, separated by the <code class="literal">|</code>
@@ -142,9 +147,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs" title="
BOOST_FT_COMMON_X86_CCs">
BOOST_FT_COMMON_X86_CCs</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs" title="BOOST_FT_COMMON_X86_CCs">
BOOST_FT_COMMON_X86_CCs</a>
</h4></div></div></div>
<p>
Defining this macro causes the following macros to be defined, if not defined
already:
@@ -157,9 +162,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_SYNTAX"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_SYNTAX" title="
BOOST_FT_SYNTAX">
BOOST_FT_SYNTAX</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_SYNTAX"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_SYNTAX" title="BOOST_FT_SYNTAX">
BOOST_FT_SYNTAX</a>
</h4></div></div></div>
<p>
This macro allows to change the syntax of callable builtin types. It is
useful to handle the compiler specific placement of the calling convention
@@ -175,9 +180,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM" title="
BOOST_FT_NULLARY_PARAM">
BOOST_FT_NULLARY_PARAM</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM" title="BOOST_FT_NULLARY_PARAM">
BOOST_FT_NULLARY_PARAM</a>
</h4></div></div></div>
<p>
Set to <code class="literal">void</code> for compilers that insist on a <code class="literal">void</code>
parameter for nullary function types, empty by default.
@@ -185,9 +190,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT" title="
BOOST_FT_NO_CV_FUNC_SUPPORT">
BOOST_FT_NO_CV_FUNC_SUPPORT</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT" title="BOOST_FT_NO_CV_FUNC_SUPPORT">
BOOST_FT_NO_CV_FUNC_SUPPORT</a>
</h4></div></div></div>
<p>
Disables support for cv-qualified function types. Cv-qualified function
types are illegal by the current standard version, but there is a pending
@@ -202,9 +207,9 @@
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE" title="
BOOST_FT_PREPROCESSING_MODE">
BOOST_FT_PREPROCESSING_MODE</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE" title="BOOST_FT_PREPROCESSING_MODE">
BOOST_FT_PREPROCESSING_MODE</a>
</h4></div></div></div>
<p>
Makes the compiler preprocess as much as possible of the library code (rather
than loading already-preprocessed header files) if defined.
@@ -212,28 +217,31 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING" title="
BOOST_FT_CC_PREPROCESSING">
BOOST_FT_CC_PREPROCESSING</a></h4></div></div></div>
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING" title="BOOST_FT_CC_PREPROCESSING">
BOOST_FT_CC_PREPROCESSING</a>
</h4></div></div></div>
<p>
Makes the compiler preprocess the loop over possible names for custom calling
conventions (rather than loading an already-preprocessed header file) if
defined.
</p>
<p>
This macro is defined automatically if <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
This macro is defined automatically if <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
has been defined.
</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"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="tag_types.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="../rationale.html">Next</a>
<a accesskey="p" href="tag_types.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../rationale.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,27 +1,32 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Class templates
for type synthesis</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Class templates for type synthesis</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">
<link rel="prev" href="decomposition.html" title=" Class templates
for type decomposition">
<link rel="next" href="tag_types.html" title=" Tag Types">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="decomposition.html" title="Class templates for type decomposition">
<link rel="next" href="tag_types.html" title="Tag Types">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
<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="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="decomposition.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="tag_types.html">Next</a>
<a accesskey="p" href="decomposition.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tag_types.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_functiontypes.reference.synthesis"></a><a href="synthesis.html" title=" Class templates
for type synthesis"> Class templates
for type synthesis</a></h3></div></div></div>
<a name="boost_functiontypes.reference.synthesis"></a><a class="link" href="synthesis.html" title="Class templates for type synthesis"> Class templates
for type synthesis</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_type">
function_type</a></span></dt>
@@ -34,12 +39,11 @@
</dl></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.synthesis.function_type"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="
function_type">
function_type</a></h4></div></div></div>
<a name="boost_functiontypes.reference.synthesis.function_type"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="function_type">
function_type</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">function_type</span><span class="special">;</span>
</pre>
<p>
@@ -52,19 +56,19 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">Types</code></span></dt>
<dd>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</dd>
<dd><p>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties
</dd>
<dd><p>
Further properties
</p></dd>
<dt><span class="term"><code class="literal">function_type&lt;Types,Tag&gt;::type</code></span></dt>
<dd>
Synthesized type
</dd>
<dd><p>
Synthesized type
</p></dd>
</dl>
</div>
<p>
@@ -77,12 +81,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.synthesis.function_pointer"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="
function_pointer">
function_pointer</a></h4></div></div></div>
<a name="boost_functiontypes.reference.synthesis.function_pointer"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="function_pointer">
function_pointer</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">function_pointer</span><span class="special">;</span>
</pre>
<p>
@@ -95,19 +98,19 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">Types</code></span></dt>
<dd>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</dd>
<dd><p>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties
</dd>
<dd><p>
Further properties
</p></dd>
<dt><span class="term"><code class="literal">function_pointer&lt;Types,Tag&gt;::type</code></span></dt>
<dd>
Synthesized type
</dd>
<dd><p>
Synthesized type
</p></dd>
</dl>
</div>
<p>
@@ -120,12 +123,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.synthesis.function_reference"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_reference" title="
function_reference">
function_reference</a></h4></div></div></div>
<a name="boost_functiontypes.reference.synthesis.function_reference"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.function_reference" title="function_reference">
function_reference</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">function_reference</span><span class="special">;</span>
</pre>
<p>
@@ -138,19 +140,19 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">Types</code></span></dt>
<dd>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</dd>
<dd><p>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties
</dd>
<dd><p>
Further properties
</p></dd>
<dt><span class="term"><code class="literal">function_reference&lt;Types,Tag&gt;::type</code></span></dt>
<dd>
Synthesized type
</dd>
<dd><p>
Synthesized type
</p></dd>
</dl>
</div>
<p>
@@ -163,12 +165,11 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.synthesis.member_function_pointer"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.member_function_pointer" title="
member_function_pointer">
member_function_pointer</a></h4></div></div></div>
<a name="boost_functiontypes.reference.synthesis.member_function_pointer"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.member_function_pointer" title="member_function_pointer">
member_function_pointer</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">member_function_pointer</span><span class="special">;</span>
</pre>
<p>
@@ -181,19 +182,19 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">Types</code></span></dt>
<dd>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</dd>
<dd><p>
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
Sequence</a> or another callable, builtin type
</p></dd>
<dt><span class="term"><code class="literal">Tag</code></span></dt>
<dd>
Further properties
</dd>
<dd><p>
Further properties
</p></dd>
<dt><span class="term"><code class="literal">member_function_pointer&lt;Types,Tag&gt;::type</code></span></dt>
<dd>
Synthesized type
</dd>
<dd><p>
Synthesized type
</p></dd>
</dl>
</div>
<p>
@@ -213,11 +214,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="decomposition.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="tag_types.html">Next</a>
<a accesskey="p" href="decomposition.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tag_types.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,24 +1,31 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Tag Types</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Tag Types</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../reference.html" title=" Reference">
<link rel="prev" href="synthesis.html" title=" Class templates
for type synthesis">
<link rel="next" href="macros.html" title=" Macros">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="synthesis.html" title="Class templates for type synthesis">
<link rel="next" href="macros.html" title="Macros">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
<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="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="synthesis.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="macros.html">Next</a>
<a accesskey="p" href="synthesis.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_functiontypes.reference.tag_types"></a><a href="tag_types.html" title=" Tag Types"> Tag Types</a></h3></div></div></div>
<a name="boost_functiontypes.reference.tag_types"></a><a class="link" href="tag_types.html" title="Tag Types"> Tag Types</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="tag_types.html#boost_functiontypes.reference.tag_types.variadic">
variadic</a></span></dt>
@@ -47,9 +54,9 @@
</dl></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.variadic"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.variadic" title="
variadic">
variadic</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.variadic"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.variadic" title="variadic">
variadic</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">variadic</span><span class="special">;</span>
</pre>
@@ -66,9 +73,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.non_variadic"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_variadic" title="
non_variadic">
non_variadic</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.non_variadic"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_variadic" title="non_variadic">
non_variadic</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_variadic</span><span class="special">;</span>
</pre>
@@ -84,9 +91,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.default_cc"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.default_cc" title="
default_cc">
default_cc</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.default_cc"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.default_cc" title="default_cc">
default_cc</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">default_cc</span><span class="special">;</span>
</pre>
@@ -102,9 +109,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.const_qualified"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.const_qualified" title="
const_qualified">
const_qualified</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.const_qualified"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.const_qualified" title="const_qualified">
const_qualified</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">const_qualified</span><span class="special">;</span>
</pre>
@@ -120,9 +127,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.non_const"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_const" title="
non_const">
non_const</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.non_const"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_const" title="non_const">
non_const</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_const</span><span class="special">;</span>
</pre>
@@ -138,9 +145,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.volatile_qualified"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_qualified" title="
volatile_qualified">
volatile_qualified</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.volatile_qualified"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_qualified" title="volatile_qualified">
volatile_qualified</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">volatile_qualified</span><span class="special">;</span>
</pre>
@@ -156,9 +163,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.non_volatile"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_volatile" title="
non_volatile">
non_volatile</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.non_volatile"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_volatile" title="non_volatile">
non_volatile</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_volatile</span><span class="special">;</span>
</pre>
@@ -174,7 +181,8 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.non_cv"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_cv" title=" non_cv"> non_cv</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.non_cv"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_cv" title="non_cv"> non_cv</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_cv</span><span class="special">;</span>
</pre>
@@ -192,9 +200,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.const_non_volatile"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.const_non_volatile" title="
const_non_volatile">
const_non_volatile</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.const_non_volatile"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.const_non_volatile" title="const_non_volatile">
const_non_volatile</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">const_non_volatile</span><span class="special">;</span>
</pre>
@@ -212,9 +220,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.volatile_non_const"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_non_const" title="
volatile_non_const">
volatile_non_const</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.volatile_non_const"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_non_const" title="volatile_non_const">
volatile_non_const</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">volatile_non_const</span><span class="special">;</span>
</pre>
@@ -232,9 +240,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.cv_qualfied"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.cv_qualfied" title="
cv_qualfied">
cv_qualfied</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.cv_qualfied"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.cv_qualfied" title="cv_qualfied">
cv_qualfied</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">cv_qualified</span><span class="special">;</span>
</pre>
@@ -252,9 +260,9 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.null_tag"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
null_tag">
null_tag</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.null_tag"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">
null_tag</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">null_tag</span><span class="special">;</span>
</pre>
@@ -270,7 +278,8 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_functiontypes.reference.tag_types.tag"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.tag" title=" tag"> tag</a></h4></div></div></div>
<a name="boost_functiontypes.reference.tag_types.tag"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.tag" title="tag"> tag</a>
</h4></div></div></div>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Tag1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tag2</span><span class="special">,</span>
<span class="keyword">class</span> <span class="identifier">Tag3</span> <span class="special">=</span> <span class="identifier">null_tag</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tag4</span> <span class="special">=</span> <span class="identifier">null_tag</span><span class="special">&gt;</span>
@@ -286,13 +295,13 @@
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="literal">Tag<span class="emphasis"><em>N</em></span></code></span></dt>
<dd>
Property tag
</dd>
<dd><p>
Property tag
</p></dd>
<dt><span class="term"><code class="literal">tag&lt;Tag1,Tag2...&gt;</code></span></dt>
<dd>
Compound property tag
</dd>
<dd><p>
Compound property tag
</p></dd>
</dl>
</div>
<p>
@@ -303,11 +312,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="synthesis.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="macros.html">Next</a>
<a accesskey="p" href="synthesis.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,23 +1,31 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Use Cases</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<title>Use Cases</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="prev" href="introduction.html" title=" Introduction">
<link rel="next" href="about_tag_types.html" title=" About Tag Types">
<link rel="prev" href="introduction.html" title="Introduction">
<link rel="next" href="about_tag_types.html" title="About Tag Types">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
<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="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">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="introduction.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="about_tag_types.html">Next</a>
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="about_tag_types.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_functiontypes.use_cases"></a><a href="use_cases.html" title=" Use Cases"> Use Cases</a></h2></div></div></div>
<a name="boost_functiontypes.use_cases"></a><a class="link" href="use_cases.html" title="Use Cases"> Use Cases</a>
</h2></div></div></div>
<p>
Generic libraries that accept callable arguments are common in C++. Accepting
a callable argument of builin type often involves a lot of repetitive code
@@ -136,8 +144,7 @@
arguments from a type sequence in a single expression:
</p>
<pre class="programlisting">
<span class="keyword">static_cast</span><span class="special">&lt;</span><a href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="
function_pointer">function_pointer</a><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;(&amp;</span> <span class="identifier">overloaded</span><span class="special">)</span>
<span class="keyword">static_cast</span><span class="special">&lt;</span><a class="link" href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="function_pointer">function_pointer</a><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;(&amp;</span> <span class="identifier">overloaded</span><span class="special">)</span>
</pre>
<p>
This technique can be occasionally more flexible than template argument deduction
@@ -158,11 +165,15 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2004 -2007 Tobias Schwinger</small></td>
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 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="introduction.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="about_tag_types.html">Next</a>
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="about_tag_types.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -2,22 +2,32 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 1. Boost.FunctionTypes 2.5</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
<link rel="next" href="boost_functiontypes/introduction.html" title=" Introduction">
<link rel="next" href="boost_functiontypes/introduction.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td></table>
<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="../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html">Next</a></div>
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
<div class="chapter" lang="en">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="boost_functiontypes"></a>Chapter 1. Boost.FunctionTypes 2.5</h2></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Tobias</span> <span class="surname">Schwinger</span>
</h3></div></div>
<div><p class="copyright">Copyright © 2004 -2007 Tobias Schwinger</p></div>
<div><div class="legalnotice">
<a name="id905065"></a><p>
<a name="id2626484"></a><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>
@@ -36,10 +46,10 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><small><p>Last revised: May 13, 2007 at 14:01:00 GMT</p></small></td>
<td align="right"><small></small></td>
<td align="left"><p><small>Last revised: March 14, 2008 at 18:36:46 +0000</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html">Next</a></div>
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
</body>
</html>