forked from boostorg/function_types
Compare commits
22 Commits
svn-branch
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
01c361100c | |||
8f268ad2fd | |||
9b76e6a564 | |||
b7ed91bb52 | |||
317909d486 | |||
d848af8411 | |||
b0512fd179 | |||
ed24c45406 | |||
b60bbe281f | |||
79374ac509 | |||
4550c15469 | |||
876fff56e7 | |||
60e32163d6 | |||
55aa1ff276 | |||
247a8a1ace | |||
e8a144226c | |||
60a0af0f66 | |||
20eb828129 | |||
f77db2de77 | |||
0e8e53a27f | |||
01fa810682 | |||
3bafb64003 |
@ -2,7 +2,7 @@
|
||||
# (C) Copyright Tobias Schwinger
|
||||
#
|
||||
# Use modification and distribution are subject to the boost Software License,
|
||||
# Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
|
||||
# Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
# Generates preprocessed files with wave.
|
||||
|
||||
@ -13,16 +13,18 @@ rule wave
|
||||
|
||||
actions wave
|
||||
{
|
||||
chdir $(BOOST_ROOT)/libs/function_types/build
|
||||
$(BOOST_ROOT)/dist/bin/wave -S$(BOOST_ROOT) $(>) -o $(<)
|
||||
}
|
||||
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/arity_loops
|
||||
: preprocess_arity_loops.cpp : wave ;
|
||||
: preprocess_arity_loops.cpp : wave
|
||||
;
|
||||
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/encoding
|
||||
: preprocess_encoding.cpp : wave ;
|
||||
: preprocess_encoding.cpp : wave
|
||||
;
|
||||
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/cc_names
|
||||
: preprocess_cc_names.cpp : wave ;
|
||||
: preprocess_cc_names.cpp : wave
|
||||
;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// (C) Copyright Tobias Schwinger
|
||||
//
|
||||
// Use modification and distribution are subject to the boost Software License,
|
||||
// Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
|
||||
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// (C) Copyright Tobias Schwinger
|
||||
//
|
||||
// Use modification and distribution are subject to the boost Software License,
|
||||
// Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
|
||||
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// (C) Copyright Tobias Schwinger
|
||||
//
|
||||
// Use modification and distribution are subject to the boost Software License,
|
||||
// Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
|
||||
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -1 +1 @@
|
||||
timestamp file
|
||||
timestamp file
|
||||
|
@ -1 +1 @@
|
||||
timestamp file
|
||||
timestamp file
|
||||
|
@ -2,7 +2,7 @@
|
||||
# (C) Copyright Tobias Schwinger
|
||||
#
|
||||
# Use modification and distribution are subject to the boost Software License,
|
||||
# Version 1.0. (See http:/\/www.boost.org/LICENSE_1_0.txt).
|
||||
# Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
using quickbook ;
|
||||
|
||||
@ -13,8 +13,7 @@ boostbook standalone
|
||||
:
|
||||
<xsl:param>boost.root=../../../..
|
||||
<xsl:param>boost.libraries=../../../libraries.htm
|
||||
<xsl:param>nav.layout=none
|
||||
<xsl:param>navig.graphics=0
|
||||
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
|
||||
<xsl:param>chunk.first.sections=1
|
||||
<xsl:param>chunk.section.depth=2
|
||||
<xsl:param>generate.section.toc.level=2
|
||||
|
@ -1086,6 +1086,7 @@ Thanks go to the following people for supporting the development of this
|
||||
library in one or the other way:
|
||||
|
||||
* David Abrahams
|
||||
* Tom Brinkman
|
||||
* Aleksey Gurtovoy
|
||||
* Jody Hagins
|
||||
* Hartmut Kaiser
|
||||
@ -1093,9 +1094,11 @@ library in one or the other way:
|
||||
* John Maddock
|
||||
* Paul Mensonides
|
||||
* Alexander Nasonov
|
||||
* Richard Smith
|
||||
* Rob Stewart
|
||||
* Jonathan Turkanis
|
||||
* Pavel Vozenilek
|
||||
* Steven Watanabe
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> About Tag Types</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -10,10 +10,17 @@
|
||||
<link rel="next" href="reference.html" title=" Reference">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="use_cases.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference.html">Next</a>
|
||||
<a accesskey="p" href="use_cases.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -81,7 +88,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="use_cases.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference.html">Next</a>
|
||||
<a accesskey="p" href="use_cases.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,17 +2,24 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="rationale.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a>
|
||||
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -25,6 +32,9 @@
|
||||
<li>
|
||||
David Abrahams
|
||||
</li>
|
||||
<li>
|
||||
Tom Brinkman
|
||||
</li>
|
||||
<li>
|
||||
Aleksey Gurtovoy
|
||||
</li>
|
||||
@ -46,6 +56,9 @@
|
||||
<li>
|
||||
Alexander Nasonov
|
||||
</li>
|
||||
<li>
|
||||
Richard Smith
|
||||
</li>
|
||||
<li>
|
||||
Rob Stewart
|
||||
</li>
|
||||
@ -55,6 +68,9 @@
|
||||
<li>
|
||||
Pavel Vozenilek
|
||||
</li>
|
||||
<li>
|
||||
Steven Watanabe
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
@ -63,7 +79,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="rationale.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a>
|
||||
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Introduction</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -10,10 +10,17 @@
|
||||
<link rel="next" href="use_cases.html" title=" Use Cases">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="use_cases.html">Next</a>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="use_cases.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -81,7 +88,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="use_cases.html">Next</a>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="use_cases.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Rationale</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -10,16 +10,23 @@
|
||||
<link rel="next" href="acknowledgements.html" title=" Acknowledgements">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reference/macros.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="acknowledgements.html">Next</a>
|
||||
<a accesskey="p" href="reference/macros.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.rationale"></a><a href="rationale.html" title=" Rationale"> Rationale</a></h2></div></div></div>
|
||||
<a name="boost_functiontypes.rationale.error_handling_rationale"></a><h3>
|
||||
<a name="id931925"></a>
|
||||
<a name="id932133"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
|
||||
handling rationale</a>
|
||||
</h3>
|
||||
@ -34,7 +41,7 @@
|
||||
can be spotted easily.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h3>
|
||||
<a name="id931962"></a>
|
||||
<a name="id932170"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
|
||||
</h3>
|
||||
<p>
|
||||
@ -47,19 +54,16 @@
|
||||
so another reason is interoperability.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h3>
|
||||
<a name="id932020"></a>
|
||||
<a name="id932228"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
|
||||
to member object types</a>
|
||||
</h3>
|
||||
<p>
|
||||
Despite their syntax, pointer to member object types can be seen as dereferencing
|
||||
functionals. A reference is <span class="bold"><strong>not</strong></span> added to the
|
||||
"result", however, to allow greater flexibility (once a reference
|
||||
has been added there's no way to determine whether the referencee was a reference
|
||||
already).
|
||||
functionals.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h3>
|
||||
<a name="id932060"></a>
|
||||
<a name="id932259"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
|
||||
ClassTransform template parameter</a>
|
||||
</h3>
|
||||
@ -76,7 +80,7 @@
|
||||
all parameters uniformly.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h3>
|
||||
<a name="id932116"></a>
|
||||
<a name="id932315"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
|
||||
</h3>
|
||||
<p>
|
||||
@ -95,7 +99,7 @@
|
||||
with older compilers.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_"></a><h3>
|
||||
<a name="id932166"></a>
|
||||
<a 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>
|
||||
@ -110,7 +114,7 @@
|
||||
type a sequence have been included, which can easily violate the ODR.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_"></a><h3>
|
||||
<a name="id932214"></a>
|
||||
<a 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>
|
||||
@ -124,7 +128,7 @@
|
||||
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><h3>
|
||||
<a name="id932341"></a>
|
||||
<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>
|
||||
</h3>
|
||||
@ -139,7 +143,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reference/macros.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="acknowledgements.html">Next</a>
|
||||
<a accesskey="p" href="reference/macros.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Reference</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -11,10 +11,17 @@
|
||||
templates for type classification">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="about_tag_types.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference/classification.html">Next</a>
|
||||
<a accesskey="p" href="about_tag_types.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/classification.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -36,7 +43,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="about_tag_types.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="reference/classification.html">Next</a>
|
||||
<a accesskey="p" href="about_tag_types.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/classification.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Class
|
||||
templates for type classification</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -12,10 +12,17 @@
|
||||
for type decomposition">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../reference.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="decomposition.html">Next</a>
|
||||
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="decomposition.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -60,23 +67,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -104,21 +111,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function_pointer<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function_pointer<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -146,21 +155,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function_reference<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function_reference<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -188,21 +199,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_pointer<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_pointer<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -229,17 +242,19 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_object_pointer<T></code></span></dt>
|
||||
<dd>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_object_pointer<T>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -266,21 +281,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_function_pointer<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_function_pointer<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -308,23 +325,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_callable_builtin<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_callable_builtin<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -352,23 +369,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties required for a positive result
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_nonmember_callable_builtin<T,Tag></code></span></dt>
|
||||
<dd>
|
||||
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Predicate value as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_nonmember_callable_builtin<T,Tag>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant boolean value
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -384,7 +401,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../reference.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="decomposition.html">Next</a>
|
||||
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="decomposition.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Class templates
|
||||
for type decomposition</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -13,10 +13,17 @@
|
||||
for type synthesis">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="classification.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="synthesis.html">Next</a>
|
||||
<a accesskey="p" href="classification.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synthesis.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -52,13 +59,13 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">F</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">result_type<F>::type</code></span></dt>
|
||||
<dd>
|
||||
Result type of <code class="literal">F</code>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Result type of <code class="literal">F</code>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -88,23 +95,23 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">F</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">ClassTransform</code></span></dt>
|
||||
<dd>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
|
||||
Expression</a> to transform the class type if <code class="literal">F</code>
|
||||
is a member function pointer
|
||||
</dd>
|
||||
<dd><p>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
|
||||
Expression</a> to transform the class type if <code class="literal">F</code>
|
||||
is a member function pointer
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">parameter_types<F,ClassTransform></code></span></dt>
|
||||
<dd>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
|
||||
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
|
||||
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
|
||||
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
|
||||
Access Sequence</a> of parameter types
|
||||
</dd>
|
||||
<dd><p>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
|
||||
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
|
||||
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
|
||||
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
|
||||
Access Sequence</a> of parameter types
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -134,19 +141,19 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">F</code></span></dt>
|
||||
<dd>
|
||||
Callable builtin type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Callable builtin type
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_arity<F></code></span></dt>
|
||||
<dd>
|
||||
Function arity as <a href="../../../../../mpl/index.html" target="_top">MPL</a> -
|
||||
<a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</dd>
|
||||
<dd><p>
|
||||
Function arity as <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant</a>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_arity<F>::value</code></span></dt>
|
||||
<dd>
|
||||
Constant value of the function arity
|
||||
</dd>
|
||||
<dd><p>
|
||||
Constant value of the function arity
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -179,27 +186,27 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd>
|
||||
Type to analyze
|
||||
</dd>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">ClassTransform</code></span></dt>
|
||||
<dd>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
|
||||
Expression</a> to transform the class type if <code class="literal">T</code>
|
||||
is a member function pointer
|
||||
</dd>
|
||||
<dd><p>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/lambda-expression.html" target="_top">Lambda
|
||||
Expression</a> to transform the class type if <code class="literal">T</code>
|
||||
is a member function pointer
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">components<T,ClassTransform></code></span></dt>
|
||||
<dd>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
|
||||
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
|
||||
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
|
||||
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
|
||||
Access Sequence</a> of all component types and property tag
|
||||
</dd>
|
||||
<dd><p>
|
||||
<a href="../../../../../mpl/index.html" target="_top">MPL</a> - <a href="../../../../../mpl/doc/refmanual/front-extensible-sequence.html" target="_top">Front</a>
|
||||
/ <a href="../../../../../mpl/doc/refmanual/back-extensible-sequence.html" target="_top">Back
|
||||
</a><a href="../../../../../mpl/doc/refmanual/extensible-sequence.html" target="_top">Extensible
|
||||
</a><a href="../../../../../mpl/doc/refmanual/random-access-sequence.html" target="_top">Random
|
||||
Access Sequence</a> of all component types and property tag
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">components<T,ClassTransform>::types</code></span></dt>
|
||||
<dd>
|
||||
Decorated MPL Sequence, exposed for optimization
|
||||
</dd>
|
||||
<dd><p>
|
||||
Decorated MPL Sequence, exposed for optimization
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -220,7 +227,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="classification.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="synthesis.html">Next</a>
|
||||
<a accesskey="p" href="classification.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synthesis.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Macros</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -10,10 +10,17 @@
|
||||
<link rel="next" href="../rationale.html" title=" Rationale">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="tag_types.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="../rationale.html">Next</a>
|
||||
<a accesskey="p" href="tag_types.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../rationale.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -233,7 +240,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="tag_types.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="../rationale.html">Next</a>
|
||||
<a accesskey="p" href="tag_types.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../rationale.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Class templates
|
||||
for type synthesis</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -12,10 +12,17 @@
|
||||
<link rel="next" href="tag_types.html" title=" Tag Types">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="decomposition.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="tag_types.html">Next</a>
|
||||
<a accesskey="p" href="decomposition.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tag_types.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -52,19 +59,19 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<dd>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_type<Types,Tag>::type</code></span></dt>
|
||||
<dd>
|
||||
Synthesized type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -95,19 +102,19 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<dd>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_pointer<Types,Tag>::type</code></span></dt>
|
||||
<dd>
|
||||
Synthesized type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -138,19 +145,19 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<dd>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_reference<Types,Tag>::type</code></span></dt>
|
||||
<dd>
|
||||
Synthesized type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -181,19 +188,19 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<dd>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Component types in form of an <a href="../../../../../mpl/index.html" target="_top">MPL</a>
|
||||
- <a href="../../../../../mpl/doc/refmanual/forward-sequence.html" target="_top">Forward
|
||||
Sequence</a> or another callable, builtin type
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd>
|
||||
Further properties
|
||||
</dd>
|
||||
<dd><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">member_function_pointer<Types,Tag>::type</code></span></dt>
|
||||
<dd>
|
||||
Synthesized type
|
||||
</dd>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -217,7 +224,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="decomposition.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="tag_types.html">Next</a>
|
||||
<a accesskey="p" href="decomposition.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tag_types.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Tag Types</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -11,10 +11,17 @@
|
||||
<link rel="next" href="macros.html" title=" Macros">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="synthesis.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="macros.html">Next</a>
|
||||
<a accesskey="p" href="synthesis.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -286,13 +293,13 @@
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Tag<span class="emphasis"><em>N</em></span></code></span></dt>
|
||||
<dd>
|
||||
Property tag
|
||||
</dd>
|
||||
<dd><p>
|
||||
Property tag
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">tag<Tag1,Tag2...></code></span></dt>
|
||||
<dd>
|
||||
Compound property tag
|
||||
</dd>
|
||||
<dd><p>
|
||||
Compound property tag
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -307,7 +314,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="synthesis.html">Prev</a><a accesskey="u" href="../reference.html">Up</a><a accesskey="h" href="../../index.html">Home</a><a accesskey="n" href="macros.html">Next</a>
|
||||
<a accesskey="p" href="synthesis.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Use Cases</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
@ -10,10 +10,17 @@
|
||||
<link rel="next" href="about_tag_types.html" title=" About Tag Types">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="introduction.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="about_tag_types.html">Next</a>
|
||||
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="about_tag_types.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -162,7 +169,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="introduction.html">Prev</a><a accesskey="u" href="../index.html">Up</a><a accesskey="h" href="../index.html">Home</a><a accesskey="n" href="about_tag_types.html">Next</a>
|
||||
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="about_tag_types.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,528 +0,0 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2004 Joel de Guzman
|
||||
http://spirit.sourceforge.net/
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
|
||||
/*=============================================================================
|
||||
Body defaults
|
||||
=============================================================================*/
|
||||
|
||||
body
|
||||
{
|
||||
margin: 1em;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Paragraphs
|
||||
=============================================================================*/
|
||||
|
||||
p
|
||||
{
|
||||
text-align: left;
|
||||
font-size: 10pt;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Program listings
|
||||
=============================================================================*/
|
||||
|
||||
/* Code on paragraphs */
|
||||
p tt.computeroutput
|
||||
{
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
pre.synopsis
|
||||
{
|
||||
font-size: 90%;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
font-size: 9pt;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
/* Program listings in tables don't get borders */
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
margin: 0pc 0pc 0pc 0pc;
|
||||
padding: 0pc 0pc 0pc 0pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Headings
|
||||
=============================================================================*/
|
||||
|
||||
h1, h2, h3, h4, h5, h6
|
||||
{
|
||||
text-align: left;
|
||||
margin: 1em 0em 0.5em 0em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 { font: 140% }
|
||||
h2 { font: bold 140% }
|
||||
h3 { font: bold 130% }
|
||||
h4 { font: bold 120% }
|
||||
h5 { font: italic 110% }
|
||||
h6 { font: italic 100% }
|
||||
|
||||
/* Top page titles */
|
||||
title,
|
||||
h1.title,
|
||||
h2.title
|
||||
h3.title,
|
||||
h4.title,
|
||||
h5.title,
|
||||
h6.title,
|
||||
.refentrytitle
|
||||
{
|
||||
font-weight: bold;
|
||||
margin-bottom: 1pc;
|
||||
}
|
||||
|
||||
h1.title { font-size: 140% }
|
||||
h2.title { font-size: 140% }
|
||||
h3.title { font-size: 130% }
|
||||
h4.title { font-size: 120% }
|
||||
h5.title { font-size: 110% }
|
||||
h6.title { font-size: 100% }
|
||||
|
||||
.section h1
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
font-size: 140%;
|
||||
}
|
||||
|
||||
.section h2 { font-size: 140% }
|
||||
.section h3 { font-size: 130% }
|
||||
.section h4 { font-size: 120% }
|
||||
.section h5 { font-size: 110% }
|
||||
.section h6 { font-size: 100% }
|
||||
|
||||
/* Code on titles */
|
||||
h1 tt.computeroutput { font-size: 140% }
|
||||
h2 tt.computeroutput { font-size: 140% }
|
||||
h3 tt.computeroutput { font-size: 130% }
|
||||
h4 tt.computeroutput { font-size: 120% }
|
||||
h5 tt.computeroutput { font-size: 110% }
|
||||
h6 tt.computeroutput { font-size: 100% }
|
||||
|
||||
/*=============================================================================
|
||||
Author
|
||||
=============================================================================*/
|
||||
|
||||
h3.author
|
||||
{
|
||||
font-size: 100%
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Lists
|
||||
=============================================================================*/
|
||||
|
||||
li
|
||||
{
|
||||
font-size: 10pt;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Unordered lists */
|
||||
ul
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Ordered lists */
|
||||
ol
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Links
|
||||
=============================================================================*/
|
||||
|
||||
a
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Spirit style navigation
|
||||
=============================================================================*/
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.spirit-nav a
|
||||
{
|
||||
color: white;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.spirit-nav img
|
||||
{
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Table of contents
|
||||
=============================================================================*/
|
||||
|
||||
.toc
|
||||
{
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.1pc 1pc 0.1pc 1pc;
|
||||
font-size: 80%;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.boost-toc
|
||||
{
|
||||
float: right;
|
||||
padding: 0.5pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Tables
|
||||
=============================================================================*/
|
||||
|
||||
.table-title,
|
||||
div.table p.title
|
||||
{
|
||||
margin-left: 4%;
|
||||
padding-right: 0.5em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
width: 92%;
|
||||
margin-left: 4%;
|
||||
margin-right: 4%;
|
||||
}
|
||||
|
||||
div.informaltable table,
|
||||
div.table table
|
||||
{
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* Table Cells */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
padding: 0.5em;
|
||||
text-align: left;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
padding: 0.5em 0.5em 0.5em 0.5em;
|
||||
border: 1pt solid white;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Blurbs
|
||||
=============================================================================*/
|
||||
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
div.sidebar
|
||||
{
|
||||
font-size: 9pt; /* A little bit smaller than the main text */
|
||||
line-height: 1.2;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.0pc 0.5pc;
|
||||
}
|
||||
|
||||
div.sidebar img
|
||||
{
|
||||
padding: 1pt;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Callouts
|
||||
=============================================================================*/
|
||||
.line_callout_bug img
|
||||
{
|
||||
float: left;
|
||||
position:relative;
|
||||
left: 4px;
|
||||
top: -12px;
|
||||
clear: left;
|
||||
margin-left:-22px;
|
||||
}
|
||||
|
||||
.callout_bug img
|
||||
{
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Variable Lists
|
||||
=============================================================================*/
|
||||
|
||||
/* Make the terms in definition lists bold */
|
||||
div.variablelist dl dt,
|
||||
span.term
|
||||
{
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td
|
||||
{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 0em 2em 0em 0em;
|
||||
font-size: 10pt;
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
div.variablelist dl dt
|
||||
{
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
div.variablelist dl dd
|
||||
{
|
||||
margin: 0em 0em 0.5em 2em;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td p,
|
||||
div.variablelist dl dd p
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Misc
|
||||
=============================================================================*/
|
||||
|
||||
/* Title of books and articles in bibliographies */
|
||||
span.title
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.underline
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.strikethrough
|
||||
{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
div div.legalnotice p
|
||||
{
|
||||
text-align: left
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Colors
|
||||
=============================================================================*/
|
||||
|
||||
@media screen
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: #005a9c;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: #9c5a9c;
|
||||
}
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
|
||||
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
|
||||
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* Syntax Highlighting */
|
||||
.keyword { color: #0000AA; }
|
||||
.identifier { color: #000000; }
|
||||
.special { color: #707070; }
|
||||
.preprocessor { color: #402080; }
|
||||
.char { color: teal; }
|
||||
.comment { color: #800000; }
|
||||
.string { color: teal; }
|
||||
.number { color: teal; }
|
||||
.white_bkd { background-color: #FFFFFF; }
|
||||
.dk_grey_bkd { background-color: #999999; }
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
.copyright
|
||||
{
|
||||
color: #666666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div div.legalnotice p
|
||||
{
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Blurbs */
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
div.sidebar
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
background-color: #F0F0F0;
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
color: #00A000;
|
||||
}
|
||||
}
|
||||
|
||||
@media print
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
border: 1px solid gray;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
@ -2,22 +2,32 @@
|
||||
<head>
|
||||
<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="boostbook.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
|
||||
<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">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td></table>
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../libraries.htm">Libraries</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>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html">Next</a></div>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
||||
<div class="chapter" lang="en">
|
||||
<div class="titlepage"><div>
|
||||
<div><h2 class="title">
|
||||
<a name="boost_functiontypes"></a>Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5</h2></div>
|
||||
<div><div class="author"><h3 class="author">
|
||||
<span class="firstname">Tobias</span> <span class="surname">Schwinger</span>
|
||||
</h3></div></div>
|
||||
<div><p class="copyright">Copyright <20> 2004 -2007 Tobias Schwinger</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="id905065"></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>
|
||||
@ -36,10 +46,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><small><p>Last revised: May 13, 2007 at 14:01:00 GMT</p></small></td>
|
||||
<td align="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">Next</a></div>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -101,7 +101,11 @@ int main()
|
||||
|
||||
setup_test(v);
|
||||
t.restart();
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1400)
|
||||
do_test(v, BOOST_EXAMPLE_FAST_MEM_FN(& test::id));
|
||||
#else // MSVC<8 does not like the implementation of the deduction macro:
|
||||
do_test(v, ::example::fast_mem_fn< int (test::*)() const, & test::id >());
|
||||
#endif
|
||||
time1 = t.elapsed();
|
||||
std::cout << "fast_mem_fn | " << time1 << std::endl;
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
// See interface.hpp in this directory for details.
|
||||
|
||||
#include <iostream>
|
||||
#include <typeinfo>
|
||||
|
||||
#include "interface.hpp"
|
||||
|
||||
|
@ -14,11 +14,11 @@
|
||||
// ==========================
|
||||
//
|
||||
// When a function is registered, an 'invoker' template is instantiated with
|
||||
// the function's type. The 'invoker' fetches a value from the 'token_parser'
|
||||
// the function's type. The 'invoker' fetches a value from the 'token_parser'
|
||||
// for each parameter of the function into a tuple and finally invokes the the
|
||||
// function with these values as arguments. The invoker's entrypoint, which
|
||||
// is a function of the callable builtin that describes the function to call and
|
||||
// a reference to the 'token_parser', is partially bound to the registered
|
||||
// a reference to the 'token_parser', is partially bound to the registered
|
||||
// function and put into a map so it can be found by name during parsing.
|
||||
|
||||
#include <map>
|
||||
@ -36,9 +36,9 @@
|
||||
#include <boost/type_traits/remove_cv.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
|
||||
#include <boost/fusion/algorithm/transformation/push_back.hpp>
|
||||
#include <boost/fusion/sequence/container/list/cons.hpp>
|
||||
#include <boost/fusion/functional/invocation/invoke.hpp>
|
||||
#include <boost/fusion/include/push_back.hpp>
|
||||
#include <boost/fusion/include/cons.hpp>
|
||||
#include <boost/fusion/include/invoke.hpp>
|
||||
|
||||
#include <boost/mpl/begin.hpp>
|
||||
#include <boost/mpl/end.hpp>
|
||||
@ -58,7 +58,7 @@ namespace example
|
||||
|
||||
class interpreter
|
||||
{
|
||||
class token_parser;
|
||||
class token_parser;
|
||||
typedef boost::function<void(token_parser &)> invoker_function;
|
||||
typedef std::map<std::string, invoker_function> dictionary;
|
||||
|
||||
@ -66,7 +66,7 @@ namespace example
|
||||
public:
|
||||
// Registers a function with the interpreter.
|
||||
template<typename Function>
|
||||
typename boost::enable_if< ft::is_nonmember_callable_builtin<Function>
|
||||
typename boost::enable_if< ft::is_nonmember_callable_builtin<Function>
|
||||
>::type register_function(std::string const & name, Function f);
|
||||
|
||||
// Parse input for functions to call.
|
||||
@ -76,13 +76,13 @@ namespace example
|
||||
template< typename Function
|
||||
, class From = typename mpl::begin< ft::parameter_types<Function> >::type
|
||||
, class To = typename mpl::end< ft::parameter_types<Function> >::type
|
||||
>
|
||||
>
|
||||
struct invoker;
|
||||
};
|
||||
|
||||
class interpreter::token_parser
|
||||
{
|
||||
typedef boost::token_iterator_generator<
|
||||
typedef boost::token_iterator_generator<
|
||||
boost::char_separator<char> >::type token_iterator;
|
||||
|
||||
token_iterator itr_at, itr_to;
|
||||
@ -101,7 +101,7 @@ namespace example
|
||||
// Returns a token of given type.
|
||||
// We just apply boost::lexical_cast to whitespace separated string tokens
|
||||
// for simplicity.
|
||||
template<typename RequestedType>
|
||||
template<typename RequestedType>
|
||||
typename remove_cv_ref<RequestedType>::type get()
|
||||
{
|
||||
if (! this->has_more_tokens())
|
||||
@ -111,8 +111,8 @@ namespace example
|
||||
{
|
||||
typedef typename remove_cv_ref<RequestedType>::type result_type;
|
||||
result_type result = boost::lexical_cast
|
||||
<typename remove_cv_ref<result_type>::type>(*this->itr_at);
|
||||
++this->itr_at;
|
||||
<typename remove_cv_ref<result_type>::type>(*this->itr_at);
|
||||
++this->itr_at;
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -129,12 +129,13 @@ namespace example
|
||||
{
|
||||
// add an argument to a Fusion cons-list for each parameter type
|
||||
template<typename Args>
|
||||
static inline
|
||||
static inline
|
||||
void apply(Function func, token_parser & parser, Args const & args)
|
||||
{
|
||||
typedef typename mpl::deref<From>::type arg_type;
|
||||
typedef typename mpl::next<From>::type next_iter_type;
|
||||
|
||||
invoker<Function, typename mpl::next<From>::type, To>::apply
|
||||
interpreter::invoker<Function, next_iter_type, To>::apply
|
||||
( func, parser, fusion::push_back(args, parser.get<arg_type>()) );
|
||||
}
|
||||
};
|
||||
@ -144,7 +145,7 @@ namespace example
|
||||
{
|
||||
// the argument list is complete, now call the function
|
||||
template<typename Args>
|
||||
static inline
|
||||
static inline
|
||||
void apply(Function func, token_parser &, Args const & args)
|
||||
{
|
||||
fusion::invoke(func,args);
|
||||
@ -156,7 +157,7 @@ namespace example
|
||||
interpreter::register_function(std::string const & name, Function f)
|
||||
{
|
||||
// instantiate and store the invoker by name
|
||||
this->map_invokers[name] = boost::bind(
|
||||
this->map_invokers[name] = boost::bind(
|
||||
& invoker<Function>::template apply<fusion::nil>, f,_1,fusion::nil() );
|
||||
}
|
||||
|
||||
@ -177,9 +178,9 @@ namespace example
|
||||
// look up function
|
||||
dictionary::const_iterator entry = map_invokers.find( func_name );
|
||||
if (entry == map_invokers.end())
|
||||
throw std::runtime_error("unknown function: " + func_name);
|
||||
|
||||
// call the invoker which controls argument parsing
|
||||
throw std::runtime_error("unknown function: " + func_name);
|
||||
|
||||
// call the invoker which controls argument parsing
|
||||
entry->second(parser);
|
||||
}
|
||||
}
|
||||
|
@ -120,13 +120,14 @@ namespace boost
|
||||
template
|
||||
< typename Components
|
||||
, typename IfTagged
|
||||
, typename ThenTag
|
||||
, typename ThenTag
|
||||
, typename DefaultBase = components_non_func_base
|
||||
>
|
||||
struct retagged_if
|
||||
: mpl::if_
|
||||
< detail::represents_impl<Components, IfTagged>
|
||||
, detail::changed_tag<Components,IfTagged,ThenTag>
|
||||
, components_non_func_base
|
||||
, DefaultBase
|
||||
>::type
|
||||
{ };
|
||||
|
||||
@ -213,14 +214,71 @@ namespace boost
|
||||
: components_impl<T,L>
|
||||
{ };
|
||||
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x565))
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T, C const>
|
||||
{ typedef T const & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T, C volatile>
|
||||
{ typedef T volatile & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T, C const volatile>
|
||||
{ typedef T const volatile & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C const>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C volatile>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C const volatile>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C, typename L>
|
||||
struct member_obj_ptr_components
|
||||
: member_object_pointer_base
|
||||
{
|
||||
typedef function_types::components<T C::*, L> type;
|
||||
typedef components_mpl_sequence_tag tag;
|
||||
|
||||
typedef mpl::integral_c<std::size_t,1> function_arity;
|
||||
|
||||
typedef mpl::vector2< typename detail::member_obj_ptr_result<T,C>::type,
|
||||
typename detail::class_transform<C,L>::type > types;
|
||||
};
|
||||
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x565))
|
||||
# define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer
|
||||
|
||||
template<typename T, class C, typename L>
|
||||
struct components_impl<T C::*, L>
|
||||
: member_obj_ptr_components<T,C,L>
|
||||
{ };
|
||||
|
||||
#else
|
||||
# define BOOST_FT_variations BOOST_FT_pointer
|
||||
|
||||
// This workaround removes the member pointer from the type to allow
|
||||
// detection of member function pointers with BCC.
|
||||
template<typename T, typename C, typename L>
|
||||
struct components_impl<T C::*, L>
|
||||
: detail::retagged_if
|
||||
< detail::components_impl<typename boost::remove_cv<T>::type *, L>
|
||||
, pointer_tag, /* --> */ member_pointer_tag >
|
||||
, pointer_tag, /* --> */ member_function_pointer_tag
|
||||
, member_obj_ptr_components<T,C,L> >
|
||||
{ };
|
||||
|
||||
// BCC lets us test the cv-qualification of a function type by template
|
||||
@ -349,65 +407,13 @@ namespace boost
|
||||
struct components_bcc
|
||||
: mpl::if_
|
||||
< detail::represents_impl< detail::components_impl<T,L>
|
||||
, member_pointer_tag>
|
||||
, member_function_pointer_tag>
|
||||
, detail::mfp_components<detail::components_impl<T,L>,T,OrigT,L>
|
||||
, detail::components_impl<T,L>
|
||||
>::type
|
||||
{ };
|
||||
|
||||
// TODO: add data member support for Borland
|
||||
|
||||
# define BOOST_FT_variations BOOST_FT_pointer
|
||||
#else // end of BORLAND WORKAROUND
|
||||
# define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T, C const>
|
||||
{ typedef T const & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T, C volatile>
|
||||
{ typedef T volatile & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T, C const volatile>
|
||||
{ typedef T const volatile & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C const>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C volatile>
|
||||
{ typedef T & type; };
|
||||
|
||||
template<typename T, class C>
|
||||
struct member_obj_ptr_result<T &, C const volatile>
|
||||
{ typedef T & type; };
|
||||
|
||||
|
||||
template<typename T, class C, typename L>
|
||||
struct components_impl<T C::*, L>
|
||||
: member_object_pointer_base
|
||||
{
|
||||
typedef function_types::components<T C::*, L> type;
|
||||
typedef components_mpl_sequence_tag tag;
|
||||
|
||||
typedef mpl::integral_c<std::size_t,1> function_arity;
|
||||
|
||||
typedef mpl::vector2< typename detail::member_obj_ptr_result<T,C>::type,
|
||||
typename detail::class_transform<C,L>::type > types;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // end of BORLAND WORKAROUND
|
||||
|
||||
#define BOOST_FT_al_path boost/function_types/detail/components_impl
|
||||
#include <boost/function_types/detail/pp_loop.hpp>
|
||||
|
@ -18,33 +18,36 @@
|
||||
# error "unsupported compiler version"
|
||||
# endif
|
||||
|
||||
// enable clrcall calling covention (call to .NET managed code) when
|
||||
// compiling with /clr
|
||||
# if BOOST_MSVC >= 1400 && defined(__cplusplus_cli)
|
||||
# ifndef BOOST_FT_CC_CLRCALL
|
||||
# define BOOST_FT_CC_CLRCALL callable_builtin
|
||||
# endif
|
||||
# endif
|
||||
# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
|
||||
// Intel x86 architecture specific calling conventions
|
||||
# ifdef _M_IX86
|
||||
# define BOOST_FT_COMMON_X86_CCs callable_builtin
|
||||
# if BOOST_MSVC < 1400
|
||||
// version 7.1 is missing a keyword to specify the thiscall cc ...
|
||||
# ifndef BOOST_FT_CC_IMPLICIT_THISCALL
|
||||
# define BOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin
|
||||
# ifndef BOOST_FT_CONFIG_OK
|
||||
# pragma message("INFO| /Gd /Gr /Gz will compiler options will cause")
|
||||
# pragma message("INFO| a compile error.")
|
||||
# pragma message("INFO| Reconfigure Boost.FunctionTypes in this case.")
|
||||
# pragma message("INFO| This message can be suppressed by defining")
|
||||
# pragma message("INFO| BOOST_FT_CONFIG_OK.")
|
||||
// enable clrcall calling covention (call to .NET managed code) when
|
||||
// compiling with /clr
|
||||
# if BOOST_MSVC >= 1400 && defined(__cplusplus_cli)
|
||||
# ifndef BOOST_FT_CC_CLRCALL
|
||||
# define BOOST_FT_CC_CLRCALL callable_builtin
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
// ...introduced in version 8
|
||||
# ifndef BOOST_FT_CC_THISCALL
|
||||
# define BOOST_FT_CC_THISCALL non_variadic|member|callable_builtin
|
||||
# endif
|
||||
|
||||
// Intel x86 architecture specific calling conventions
|
||||
# ifdef _M_IX86
|
||||
# define BOOST_FT_COMMON_X86_CCs callable_builtin
|
||||
# if BOOST_MSVC < 1400
|
||||
// version 7.1 is missing a keyword to specify the thiscall cc ...
|
||||
# ifndef BOOST_FT_CC_IMPLICIT_THISCALL
|
||||
# define BOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin
|
||||
# ifndef BOOST_FT_CONFIG_OK
|
||||
# pragma message("INFO| /Gd /Gr /Gz will compiler options will cause")
|
||||
# pragma message("INFO| a compile error.")
|
||||
# pragma message("INFO| Reconfigure Boost.FunctionTypes in this case.")
|
||||
# pragma message("INFO| This message can be suppressed by defining")
|
||||
# pragma message("INFO| BOOST_FT_CONFIG_OK.")
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
// ...introduced in version 8
|
||||
# ifndef BOOST_FT_CC_THISCALL
|
||||
# define BOOST_FT_CC_THISCALL non_variadic|member|callable_builtin
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
@ -55,32 +58,37 @@
|
||||
# error "unsupported compiler version"
|
||||
# endif
|
||||
|
||||
# if defined(__i386__)
|
||||
# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20439
|
||||
# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328
|
||||
# if BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(4))
|
||||
# ifndef BOOST_FT_CC_IMPLICIT
|
||||
# define BOOST_FT_CC_IMPLICIT member|callable_builtin
|
||||
# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
|
||||
# if defined(__i386__)
|
||||
# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20439
|
||||
# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328
|
||||
# if BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(4))
|
||||
# ifndef BOOST_FT_CC_IMPLICIT
|
||||
# define BOOST_FT_CC_IMPLICIT member|callable_builtin
|
||||
# endif
|
||||
# define BOOST_FT_COMMON_X86_CCs non_member|callable_builtin
|
||||
# else
|
||||
# define BOOST_FT_COMMON_X86_CCs callable_builtin
|
||||
# endif
|
||||
# define BOOST_FT_COMMON_X86_CCs non_member|callable_builtin
|
||||
# else
|
||||
# define BOOST_FT_COMMON_X86_CCs callable_builtin
|
||||
# endif
|
||||
# else
|
||||
# ifndef BOOST_FT_CC_IMPLICIT
|
||||
# define BOOST_FT_CC_IMPLICIT callable_builtin
|
||||
# ifndef BOOST_FT_CC_IMPLICIT
|
||||
# define BOOST_FT_CC_IMPLICIT callable_builtin
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# // TODO: straighten out this hack
|
||||
# ifndef __cdecl
|
||||
# define __cdecl __attribute__((__cdecl__))
|
||||
# if (defined(BOOST_FT_CC_CDECL) || defined(BOOST_FT_COMMON_X86_CCs)) \
|
||||
&& !defined(__cdecl)
|
||||
# define __cdecl __attribute__((__cdecl__))
|
||||
# endif
|
||||
# ifndef __stdcall
|
||||
# define __stdcall __attribute__((__stdcall__))
|
||||
# if (defined(BOOST_FT_CC_STDCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
|
||||
&& !defined(__stdcall)
|
||||
# define __stdcall __attribute__((__stdcall__))
|
||||
# endif
|
||||
# ifndef __fastcall
|
||||
# define __fastcall __attribute__((__fastcall__))
|
||||
# if (defined(BOOST_FT_CC_FASTCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
|
||||
&& !defined(__fastcall)
|
||||
# define __fastcall __attribute__((__fastcall__))
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
@ -91,7 +99,9 @@
|
||||
# pragma message("WARNING: library untested with this compiler version")
|
||||
# endif
|
||||
|
||||
# define BOOST_FT_COMMON_X86_CCs callable_builtin
|
||||
# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
# define BOOST_FT_COMMON_X86_CCs callable_builtin
|
||||
# endif
|
||||
|
||||
// syntactic specialities of cc specifier
|
||||
# define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
|
||||
|
@ -12,7 +12,9 @@
|
||||
#include <cstddef>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| 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>
|
||||
@ -25,7 +27,9 @@ namespace boost { namespace function_types { namespace detail {
|
||||
namespace ft = boost::function_types;
|
||||
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
|
||||
#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| 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; };
|
||||
|
@ -81,14 +81,16 @@ BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED
|
||||
# include <boost/preprocessor/repetition/enum_trailing_params.hpp>
|
||||
# endif
|
||||
|
||||
# define BOOST_FT_AL_INCLUDE_FILE <BOOST_FT_al_path/master.hpp>
|
||||
|
||||
# define BOOST_FT_ARITY_LOOP_PREFIX 1
|
||||
# include BOOST_PP_EXPAND(<BOOST_FT_al_path/master.hpp>)
|
||||
# include BOOST_FT_AL_INCLUDE_FILE
|
||||
# undef BOOST_FT_ARITY_LOOP_PREFIX
|
||||
|
||||
# if !BOOST_PP_IS_ITERATING
|
||||
# define BOOST_PP_FILENAME_1 <BOOST_FT_al_path/master.hpp>
|
||||
# define BOOST_PP_FILENAME_1 BOOST_FT_AL_INCLUDE_FILE
|
||||
# elif BOOST_PP_ITERATION_DEPTH() == 1
|
||||
# define BOOST_PP_FILENAME_2 <BOOST_FT_al_path/master.hpp>
|
||||
# define BOOST_PP_FILENAME_2 BOOST_FT_AL_INCLUDE_FILE
|
||||
# else
|
||||
# error "loops nested too deeply"
|
||||
# endif
|
||||
@ -133,8 +135,10 @@ BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED
|
||||
# undef BOOST_FT_type
|
||||
|
||||
# define BOOST_FT_ARITY_LOOP_SUFFIX 1
|
||||
# include BOOST_PP_EXPAND(<BOOST_FT_al_path/master.hpp>)
|
||||
# include BOOST_FT_AL_INCLUDE_FILE
|
||||
# undef BOOST_FT_ARITY_LOOP_SUFFIX
|
||||
|
||||
# undef BOOST_FT_AL_INCLUDE_FILE
|
||||
# endif
|
||||
|
||||
# undef BOOST_FT_FROM_ARITY
|
||||
|
@ -37,6 +37,37 @@
|
||||
# define BOOST_PP_ITERATION_LIMITS \
|
||||
(0,BOOST_PP_SEQ_SIZE(BOOST_FT_CC_NAMES_SEQ)-1)
|
||||
# include BOOST_PP_ITERATE()
|
||||
# if !defined(BOOST_FT_config_valid) && BOOST_FT_CC_PREPROCESSING
|
||||
# define BOOST_FT_cc_id 1
|
||||
# define BOOST_FT_cc_name implicit_cc
|
||||
# define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
# define BOOST_FT_cond callable_builtin
|
||||
# include BOOST_FT_cc_file
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
# undef BOOST_FT_cc
|
||||
# undef BOOST_FT_cc_id
|
||||
# elif !defined(BOOST_FT_config_valid) // and generating preprocessed file
|
||||
BOOST_PP_EXPAND(#) ifndef BOOST_FT_config_valid
|
||||
BOOST_PP_EXPAND(#) define BOOST_FT_cc_id 1
|
||||
BOOST_PP_EXPAND(#) define BOOST_FT_cc_name implicit_cc
|
||||
BOOST_PP_EXPAND(#) define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
BOOST_PP_EXPAND(#) define BOOST_FT_cond callable_builtin
|
||||
#define _()
|
||||
BOOST_PP_EXPAND(#) include BOOST_FT_cc_file
|
||||
#undef _
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cond
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cc
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id
|
||||
BOOST_PP_EXPAND(#) else
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_config_valid
|
||||
BOOST_PP_EXPAND(#) endif
|
||||
|
||||
# else
|
||||
# undef BOOST_FT_config_valid
|
||||
# endif
|
||||
|
||||
# include <boost/function_types/detail/encoding/aliases_undef.hpp>
|
||||
# include <boost/function_types/detail/encoding/undef.hpp>
|
||||
|
||||
@ -53,7 +84,8 @@
|
||||
# define BOOST_FT_cond BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name)
|
||||
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND(<BOOST_FT_cc_file>)
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
|
||||
# undef BOOST_FT_cond
|
||||
@ -87,8 +119,9 @@ BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v
|
||||
# undef BOOST_FT_cc_inf
|
||||
|
||||
BOOST_PP_EXPAND(#) if BOOST_FT_cond
|
||||
BOOST_PP_EXPAND(#) define BOOST_FT_config_valid 1
|
||||
#define _()
|
||||
BOOST_PP_EXPAND(#) include BOOST_PP_EXPAND _()(<BOOST_FT_cc_file>)
|
||||
BOOST_PP_EXPAND(#) include BOOST_FT_cc_file
|
||||
#undef _
|
||||
BOOST_PP_EXPAND(#) endif
|
||||
|
||||
|
@ -14,7 +14,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -25,7 +26,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_IDENTITY(__cdecl )
|
||||
# define BOOST_FT_cond BOOST_FT_CC_CDECL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -36,7 +38,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_IDENTITY(__stdcall )
|
||||
# define BOOST_FT_cond BOOST_FT_CC_STDCALL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -47,7 +50,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_IDENTITY(pascal )
|
||||
# define BOOST_FT_cond BOOST_FT_CC_PASCAL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -58,7 +62,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_IDENTITY(__fastcall)
|
||||
# define BOOST_FT_cond BOOST_FT_CC_FASTCALL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -69,7 +74,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_IDENTITY(__clrcall )
|
||||
# define BOOST_FT_cond BOOST_FT_CC_CLRCALL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -80,7 +86,8 @@
|
||||
# define BOOST_FT_cc BOOST_PP_IDENTITY(__thiscall)
|
||||
# define BOOST_FT_cond BOOST_FT_CC_THISCALL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -91,9 +98,23 @@
|
||||
# define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT_THISCALL
|
||||
# if BOOST_FT_cond
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
# undef BOOST_FT_cc
|
||||
# undef BOOST_FT_cc_id
|
||||
# ifndef BOOST_FT_config_valid
|
||||
# define BOOST_FT_cc_id 1
|
||||
# define BOOST_FT_cc_name implicit_cc
|
||||
# define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
# define BOOST_FT_cond 0x00000001
|
||||
# include BOOST_FT_cc_file
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
# undef BOOST_FT_cc
|
||||
# undef BOOST_FT_cc_id
|
||||
# else
|
||||
# undef BOOST_FT_config_valid
|
||||
# endif
|
||||
|
@ -28,9 +28,9 @@
|
||||
#if defined(BOOST_FT_al_path)
|
||||
|
||||
# define BOOST_FT_cc_file \
|
||||
boost/function_types/detail/pp_variate_loop/preprocessed.hpp
|
||||
<boost/function_types/detail/pp_variate_loop/preprocessed.hpp>
|
||||
# define BOOST_FT_variate_file \
|
||||
boost/function_types/detail/pp_arity_loop.hpp
|
||||
<boost/function_types/detail/pp_arity_loop.hpp>
|
||||
|
||||
# ifndef BOOST_FT_type_function
|
||||
# define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \
|
||||
|
@ -140,7 +140,7 @@ BOOST_PP_EXPAND(#) define BOOST_FT_cv const volatile
|
||||
# endif
|
||||
# endif
|
||||
BOOST_PP_EXPAND(#) define BOOST_FT_flags BOOST_PP_SLOT(1)
|
||||
BOOST_PP_EXPAND(#) include BOOST_PP_EXPAND BOOST_PP_EMPTY()(<BOOST_FT_variate_file>)
|
||||
BOOST_PP_EXPAND(#) include BOOST_FT_variate_file
|
||||
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cv
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_ell
|
||||
|
@ -15,7 +15,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 519
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -28,7 +28,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 263
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -42,7 +42,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv const
|
||||
# define BOOST_FT_flags 1543
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -55,7 +55,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv const
|
||||
# define BOOST_FT_flags 1287
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -68,7 +68,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv volatile
|
||||
# define BOOST_FT_flags 2567
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -81,7 +81,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv volatile
|
||||
# define BOOST_FT_flags 2311
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -94,7 +94,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv const volatile
|
||||
# define BOOST_FT_flags 3591
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -107,7 +107,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv const volatile
|
||||
# define BOOST_FT_flags 3335
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -123,7 +123,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 523
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -136,7 +136,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 267
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -151,7 +151,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 531
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -164,7 +164,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 275
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -181,7 +181,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 609
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -194,7 +194,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv
|
||||
# define BOOST_FT_flags 353
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -207,7 +207,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv const
|
||||
# define BOOST_FT_flags 1633
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -220,7 +220,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv const
|
||||
# define BOOST_FT_flags 1377
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -233,7 +233,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv volatile
|
||||
# define BOOST_FT_flags 2657
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -246,7 +246,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv volatile
|
||||
# define BOOST_FT_flags 2401
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -259,7 +259,7 @@
|
||||
# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
|
||||
# define BOOST_FT_cv const volatile
|
||||
# define BOOST_FT_flags 3681
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
@ -272,7 +272,7 @@
|
||||
# define BOOST_FT_nullary_param
|
||||
# define BOOST_FT_cv const volatile
|
||||
# define BOOST_FT_flags 3425
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_variate_file> )
|
||||
# include BOOST_FT_variate_file
|
||||
# undef BOOST_FT_cv
|
||||
# undef BOOST_FT_ell
|
||||
# undef BOOST_FT_nullary_param
|
||||
|
@ -24,10 +24,10 @@ namespace boost
|
||||
< function_types::components<T>
|
||||
, detail::member_object_pointer_tag >
|
||||
{
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_object_pointer,(T,Tag))
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_member_object_pointer,(T))
|
||||
};
|
||||
}
|
||||
BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_object_pointer)
|
||||
BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::is_member_object_pointer)
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -141,7 +141,7 @@ template<class Tag, class QueryTag> struct extract
|
||||
#include <boost/function_types/detail/pp_tags/preprocessed.hpp>
|
||||
|
||||
namespace boost { namespace function_types {
|
||||
#define BOOST_FT_cc_file boost/function_types/detail/pp_tags/cc_tag.hpp
|
||||
#define BOOST_FT_cc_file <boost/function_types/detail/pp_tags/cc_tag.hpp>
|
||||
#include <boost/function_types/detail/pp_loop.hpp>
|
||||
} } // namespace boost::function_types
|
||||
|
||||
|
14
index.html
Normal file
14
index.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0; URL=doc/html/index.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Automatic redirection failed, please go to
|
||||
<a href="doc/html/index.html">doc/html/index.html</a>.</p>
|
||||
<p>Copyright Tobias Schwinger 2005-2007</p>
|
||||
<p>Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../LICENSE_1_0.txt">
|
||||
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>).</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,11 +6,17 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#define BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
|
||||
#include <boost/mpl/assert.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/function_types/member_function_pointer.hpp>
|
||||
#include <boost/function_types/is_callable_builtin.hpp>
|
||||
|
||||
#ifndef BOOST_FT_CC_STDCALL
|
||||
# error "test not supported with this compiler/platform"
|
||||
#endif
|
||||
|
||||
namespace ft = boost::function_types;
|
||||
namespace mpl = boost::mpl;
|
||||
|
||||
|
@ -6,11 +6,17 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#define BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
|
||||
#include <boost/mpl/assert.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/function_types/member_function_pointer.hpp>
|
||||
#include <boost/function_types/is_callable_builtin.hpp>
|
||||
|
||||
#ifndef BOOST_FT_CC_STDCALL
|
||||
# error "test not supported with this compiler/platform"
|
||||
#endif
|
||||
|
||||
namespace ft = boost::function_types;
|
||||
namespace mpl = boost::mpl;
|
||||
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#define BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
|
||||
#include <boost/mpl/assert.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/function_types/function_type.hpp>
|
||||
@ -13,6 +15,10 @@
|
||||
#include <boost/function_types/function_reference.hpp>
|
||||
#include <boost/function_types/is_callable_builtin.hpp>
|
||||
|
||||
#ifndef BOOST_FT_CC_STDCALL
|
||||
# error "test not supported with this compiler/platform"
|
||||
#endif
|
||||
|
||||
namespace ft = boost::function_types;
|
||||
namespace mpl = boost::mpl;
|
||||
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#define BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
|
||||
|
||||
#include <boost/mpl/assert.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
#include <boost/function_types/function_type.hpp>
|
||||
@ -13,6 +15,10 @@
|
||||
#include <boost/function_types/function_reference.hpp>
|
||||
#include <boost/function_types/is_callable_builtin.hpp>
|
||||
|
||||
#ifndef BOOST_FT_CC_STDCALL
|
||||
# error "test not supported with this compiler/platform"
|
||||
#endif
|
||||
|
||||
namespace ft = boost::function_types;
|
||||
namespace mpl = boost::mpl;
|
||||
|
||||
|
@ -24,7 +24,7 @@ typedef C (C::*mem_func_ptr)(C,int);
|
||||
typedef C (C::*c_mem_func_ptr)(C,C) const;
|
||||
typedef C (C::*v_mem_func_ptr)(C) volatile;
|
||||
typedef C (C::*cv_mem_func_ptr)() const volatile;
|
||||
|
||||
typedef C C::*mem_ptr;
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
mpl::equal< ft::parameter_types<func>, mpl::vector<C> >
|
||||
@ -54,3 +54,6 @@ BOOST_MPL_ASSERT((
|
||||
mpl::equal< ft::parameter_types<cv_mem_func_ptr>, mpl::vector<C const volatile &> >
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
mpl::equal< ft::parameter_types<mem_ptr>, mpl::vector<C &> >
|
||||
));
|
||||
|
Reference in New Issue
Block a user