forked from boostorg/function_types
Compare commits
9 Commits
svn-branch
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
01c361100c | |||
8f268ad2fd | |||
9b76e6a564 | |||
b7ed91bb52 | |||
317909d486 | |||
d848af8411 | |||
b0512fd179 | |||
79374ac509 | |||
4550c15469 |
@ -13,24 +13,18 @@ rule wave
|
||||
|
||||
actions wave
|
||||
{
|
||||
../../../dist/bin/wave -S../../.. $(>) -o $(<)
|
||||
$(BOOST_ROOT)/dist/bin/wave -S$(BOOST_ROOT) $(>) -o $(<)
|
||||
}
|
||||
|
||||
make ../../../libs/function_types/build/timestamps/arity_loops
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/arity_loops
|
||||
: preprocess_arity_loops.cpp : wave
|
||||
;
|
||||
|
||||
explicit ../../../libs/function_types/build/timestamps/arity_loops ;
|
||||
|
||||
make ../../../libs/function_types/build/timestamps/encoding
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/encoding
|
||||
: preprocess_encoding.cpp : wave
|
||||
;
|
||||
|
||||
explicit ../../../libs/function_types/build/timestamps/encoding ;
|
||||
|
||||
make ../../../libs/function_types/build/timestamps/cc_names
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/cc_names
|
||||
: preprocess_cc_names.cpp : wave
|
||||
;
|
||||
|
||||
explicit ../../../libs/function_types/build/timestamps/cc_names ;
|
||||
|
||||
|
@ -1 +1 @@
|
||||
timestamp file
|
||||
timestamp file
|
||||
|
@ -1 +1 @@
|
||||
timestamp file
|
||||
timestamp file
|
||||
|
@ -897,7 +897,7 @@ definition of [^BOOST_FT_CC_NAMES]:
|
||||
|
||||
[section:BOOST_FT_CC BOOST_FT\_CC\_*]
|
||||
|
||||
Enables a specific calling convention. * denotes the macro suffix, as
|
||||
Enables a specific calling convention. * dentoes the macro suffix, as
|
||||
defined by
|
||||
[link boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES [^BOOST_FT_CC_NAMES]]
|
||||
or
|
||||
@ -1099,7 +1099,6 @@ library in one or the other way:
|
||||
* Jonathan Turkanis
|
||||
* Pavel Vozenilek
|
||||
* Steven Watanabe
|
||||
* K. Noel Belcourt
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -1,21 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>About Tag Types</title>
|
||||
<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">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../index.htm">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="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,8 +24,7 @@
|
||||
</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 class="link" 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 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-
|
||||
@ -85,11 +84,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,20 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Acknowledgements</title>
|
||||
<title> Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../index.htm">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="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -23,8 +23,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements"> Acknowledgements</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_functiontypes.acknowledgements"></a><a 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:
|
||||
@ -72,18 +71,11 @@
|
||||
<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"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Introduction</title>
|
||||
<title> Introduction</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../index.htm">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="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,8 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.introduction"></a><a class="link" href="introduction.html" title="Introduction"> Introduction</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_functiontypes.introduction"></a><a 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.
|
||||
@ -57,34 +56,35 @@
|
||||
constant called <code class="literal">value</code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<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"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == true
|
||||
<a href="reference/classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="
|
||||
is_function_pointer">is_function_pointer</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == true
|
||||
</span>
|
||||
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">function_arity</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == 1
|
||||
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
|
||||
function_arity">function_arity</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</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 class="link" href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="function_type">function_type</a><span class="special"><</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool(int)
|
||||
<a href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="
|
||||
function_type">function_type</a><span class="special"><</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool(int)
|
||||
</span>
|
||||
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="result_type">result_type</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(&)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool
|
||||
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="
|
||||
result_type">result_type</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(&)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</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 class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">parameter_types</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">></span> <span class="comment">// models an MPL sequence
|
||||
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
|
||||
parameter_types">parameter_types</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">></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"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Rationale</title>
|
||||
<title> Rationale</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../index.htm">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="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,13 +24,12 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<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
|
||||
<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="id932133"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
|
||||
handling rationale</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<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
|
||||
@ -41,10 +40,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><h4>
|
||||
<a name="id2644312"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
|
||||
</h4>
|
||||
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h3>
|
||||
<a name="id932170"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
|
||||
</h3>
|
||||
<p>
|
||||
MPL provides algorithms on Sequences, so transformations (such as turning by-value
|
||||
parameter types into const references for optimized forwarding or computing
|
||||
@ -54,20 +53,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><h4>
|
||||
<a name="id2644363"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
|
||||
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h3>
|
||||
<a name="id932228"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
|
||||
to member object types</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<p>
|
||||
Despite their syntax, pointer to member object types can be seen as dereferencing
|
||||
functionals.
|
||||
</p>
|
||||
<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
|
||||
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h3>
|
||||
<a name="id932259"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
|
||||
ClassTransform template parameter</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<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
|
||||
@ -80,10 +79,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><h4>
|
||||
<a name="id2644439"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
|
||||
</h4>
|
||||
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h3>
|
||||
<a name="id932315"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
|
||||
</h3>
|
||||
<p>
|
||||
Let's consider the alternatives.
|
||||
</p>
|
||||
@ -99,12 +98,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><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
|
||||
<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="id932365"></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
|
||||
it safe to have the synthesis templates take a callable builtin type or an
|
||||
MPL sequence as the first template argument?</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<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.
|
||||
@ -114,23 +113,25 @@
|
||||
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><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
|
||||
<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="id932413"></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
|
||||
does the hidden <code class="literal">this</code> parameter count for the function arity
|
||||
of member functions?</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<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"><</span> <a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">parameter_types</a><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">>::</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"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size</span><span class="special"><</span> <a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
|
||||
parameter_types">parameter_types</a><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">>::</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"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
</pre>
|
||||
<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
|
||||
<a name="boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_"></a><h3>
|
||||
<a name="id932540"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_">Why
|
||||
ignore top-level cv-qualifiers on pointers?</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<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>.
|
||||
@ -138,11 +139,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,22 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Reference</title>
|
||||
<title> Reference</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../index.htm">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="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,8 +25,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.reference"></a><a class="link" href="reference.html" title="Reference"> Reference</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_functiontypes.reference"></a><a 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>
|
||||
@ -39,11 +39,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,23 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Class templates for type classification</title>
|
||||
<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">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../../index.htm">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="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,9 +26,9 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="classification.html#boost_functiontypes.reference.classification.is_function">
|
||||
is_function</a></span></dt>
|
||||
@ -47,11 +49,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_function</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -90,11 +93,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -133,11 +137,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_function_reference</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -176,11 +181,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_member_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -219,9 +225,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 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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_member_object_pointer</span><span class="special">;</span>
|
||||
@ -257,11 +263,12 @@
|
||||
</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 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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_member_function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -300,11 +307,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_callable_builtin</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -343,11 +351,12 @@
|
||||
</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 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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_nonmember_callable_builtin</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -388,11 +397,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,24 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Class templates for type decomposition</title>
|
||||
<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">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../../index.htm">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="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,9 +27,9 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="decomposition.html#boost_functiontypes.reference.decomposition.result_type">
|
||||
result_type</a></span></dt>
|
||||
@ -39,9 +42,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 class="link" 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 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"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
@ -75,9 +78,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 class="link" 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 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"><</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"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">parameter_types</span><span class="special">;</span>
|
||||
@ -121,9 +124,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 class="link" 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 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"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_arity</span><span class="special">;</span>
|
||||
@ -166,9 +169,9 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">components</span><span class="special">;</span>
|
||||
@ -213,17 +216,14 @@
|
||||
</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 class="link" 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 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"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Macros</title>
|
||||
<title> Macros</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../../index.htm">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="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,8 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_functiontypes.reference.macros"></a><a class="link" href="macros.html" title="Macros"> Macros</a>
|
||||
</h3></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros"></a><a 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>
|
||||
@ -48,9 +47,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 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>
|
||||
<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>
|
||||
<p>
|
||||
Expands to a numeric value that describes the maximum function arity supported
|
||||
by the library.
|
||||
@ -67,16 +66,17 @@
|
||||
</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 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>
|
||||
<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>
|
||||
<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 class="link" 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 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>
|
||||
@ -106,13 +106,15 @@
|
||||
</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 class="link" 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 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. * 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>.
|
||||
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>.
|
||||
</p>
|
||||
<p>
|
||||
The macro expands to a list of restrictions, separated by the <code class="literal">|</code>
|
||||
@ -147,9 +149,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 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>
|
||||
<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>
|
||||
<p>
|
||||
Defining this macro causes the following macros to be defined, if not defined
|
||||
already:
|
||||
@ -162,9 +164,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 class="link" 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 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
|
||||
@ -180,9 +182,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 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>
|
||||
<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>
|
||||
<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.
|
||||
@ -190,9 +192,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 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>
|
||||
<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>
|
||||
<p>
|
||||
Disables support for cv-qualified function types. Cv-qualified function
|
||||
types are illegal by the current standard version, but there is a pending
|
||||
@ -207,9 +209,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 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>
|
||||
<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>
|
||||
<p>
|
||||
Makes the compiler preprocess as much as possible of the library code (rather
|
||||
than loading already-preprocessed header files) if defined.
|
||||
@ -217,27 +219,24 @@
|
||||
</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 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>
|
||||
<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>
|
||||
<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 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>
|
||||
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>
|
||||
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"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,23 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Class templates for type synthesis</title>
|
||||
<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">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../../index.htm">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="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,9 +26,9 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_type">
|
||||
function_type</a></span></dt>
|
||||
@ -39,11 +41,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_type</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -81,11 +84,12 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -123,11 +127,12 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_reference</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -165,11 +170,12 @@
|
||||
</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 class="link" 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 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"><</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">></span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">member_function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -214,11 +220,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,22 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Tag Types</title>
|
||||
<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">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../../index.htm">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="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,8 +25,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<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>
|
||||
<a name="boost_functiontypes.reference.tag_types"></a><a 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>
|
||||
@ -54,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 class="link" 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 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>
|
||||
@ -73,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 class="link" 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 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>
|
||||
@ -91,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 class="link" 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 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>
|
||||
@ -109,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 class="link" 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 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>
|
||||
@ -127,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 class="link" 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 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>
|
||||
@ -145,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 class="link" 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 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>
|
||||
@ -163,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 class="link" 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 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>
|
||||
@ -181,8 +181,7 @@
|
||||
</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 class="link" 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 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>
|
||||
@ -200,9 +199,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 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>
|
||||
<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>
|
||||
<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>
|
||||
@ -220,9 +219,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 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>
|
||||
<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>
|
||||
<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>
|
||||
@ -240,9 +239,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 class="link" 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 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>
|
||||
@ -260,9 +259,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 class="link" 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 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>
|
||||
@ -278,8 +277,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<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>
|
||||
<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>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
@ -312,11 +310,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -1,21 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Use Cases</title>
|
||||
<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">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>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%"><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="../../../../../index.htm">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="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -24,8 +24,7 @@
|
||||
</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 class="link" href="use_cases.html" title="Use Cases"> Use Cases</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_functiontypes.use_cases"></a><a 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
|
||||
@ -144,7 +143,8 @@
|
||||
arguments from a type sequence in a single expression:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">static_cast</span><span class="special"><</span><a class="link" href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="function_pointer">function_pointer</a><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>(&</span> <span class="identifier">overloaded</span><span class="special">)</span>
|
||||
<span class="keyword">static_cast</span><span class="special"><</span><a href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="
|
||||
function_pointer">function_pointer</a><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>(&</span> <span class="identifier">overloaded</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
This technique can be occasionally more flexible than template argument deduction
|
||||
@ -165,11 +165,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright <20> 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>
|
||||
<td align="right"><small>Copyright <20> 2004 -2007 Tobias Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
|
@ -3,17 +3,17 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5</title>
|
||||
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="index.html" title="Chapter<65>1.<2E>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%"><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="../../../../index.htm">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="../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
@ -27,7 +27,7 @@
|
||||
</h3></div></div>
|
||||
<div><p class="copyright">Copyright <20> 2004 -2007 Tobias Schwinger</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="id2626484"></a><p>
|
||||
<a name="id905080"></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>
|
||||
@ -46,8 +46,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<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>
|
||||
<td align="left"><p><small>Last revised: November 05, 2007 at 18:24:58 +0100</small></p></td>
|
||||
<td align="right"><small></small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
||||
|
@ -13,7 +13,8 @@
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582) \
|
||||
|| BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
|
||||
# include <boost/type_traits/remove_cv.hpp>
|
||||
# include <boost/type_traits/remove_pointer.hpp>
|
||||
# include <boost/type_traits/remove_reference.hpp>
|
||||
@ -23,8 +24,12 @@
|
||||
|
||||
namespace boost { namespace function_types { namespace detail {
|
||||
|
||||
namespace ft = boost::function_types;
|
||||
|
||||
|
||||
#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582))
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582) \
|
||||
|| BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)))
|
||||
|
||||
template<typename T> struct cv_traits
|
||||
{ typedef non_cv tag; typedef T type; };
|
||||
@ -108,13 +113,12 @@ struct cv_code
|
||||
{
|
||||
static T _t;
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value =
|
||||
sizeof(::boost::function_types::detail::switch_cv(
|
||||
::boost::function_types::detail::ref_to_ptr(_t) ) ));
|
||||
sizeof(ft::detail::switch_cv(ft::detail::ref_to_ptr(_t) ) ));
|
||||
};
|
||||
|
||||
template<typename T> struct cv_traits
|
||||
{
|
||||
typedef typename boost::function_types::detail::cv_tag_impl<
|
||||
typedef typename ft::detail::cv_tag_impl<
|
||||
::boost::function_types::detail::cv_code<T>::value >::type
|
||||
tag;
|
||||
|
||||
|
@ -30,8 +30,8 @@ namespace detail
|
||||
# include BOOST_PP_ASSIGN_SLOT(1)
|
||||
|
||||
BOOST_STATIC_CONSTANT(bits_t, value = (
|
||||
(::boost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc)
|
||||
| (::boost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1))
|
||||
::boost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc
|
||||
| ::boost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1)
|
||||
));
|
||||
};
|
||||
|
||||
|
@ -15,8 +15,8 @@ namespace detail
|
||||
template<class Tag, class RefTag> struct selector_bits
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bits_t, value = (
|
||||
(::boost::function_types::detail::bits<Tag> ::value & 0x00008000)
|
||||
| (::boost::function_types::detail::bits<RefTag> ::value & 802)
|
||||
::boost::function_types::detail::bits<Tag> ::value & 0x00008000
|
||||
| ::boost::function_types::detail::bits<RefTag> ::value & 802
|
||||
));
|
||||
};
|
||||
template<bits_t SelectorBits> struct default_cc_tag;
|
||||
|
@ -82,7 +82,7 @@ namespace detail {
|
||||
);
|
||||
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_bits =
|
||||
(LHS_bits & ~RHS_mask) | RHS_bits
|
||||
LHS_bits & ~RHS_mask | RHS_bits
|
||||
);
|
||||
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_mask =
|
||||
|
@ -53,7 +53,7 @@ BOOST_STATIC_CONSTANT(bool, match =
|
||||
RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff))
|
||||
);
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_bits =
|
||||
(LHS_bits & ~RHS_mask) | RHS_bits
|
||||
LHS_bits & ~RHS_mask | RHS_bits
|
||||
);
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_mask =
|
||||
LHS_mask | RHS_mask
|
||||
|
Reference in New Issue
Block a user