forked from boostorg/function_types
Compare commits
31 Commits
svn-branch
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
b39f052a98 | |||
c73823068f | |||
6778206732 | |||
a05ddf58ef | |||
e39914bddd | |||
64776ee43c | |||
d3b53cbdf8 | |||
0bf0587f58 | |||
1b4fdee6ff | |||
b7da1bd1ab | |||
8554f430fe | |||
ee8ed76bc5 | |||
e60e1b82aa | |||
594c159568 | |||
0071f74393 | |||
f9a2056786 | |||
e4da19535d | |||
04a28f6d46 | |||
8bc1c768ad | |||
f5084b1410 | |||
adcac6d5d0 | |||
9d9c35e797 | |||
096ac6aac4 | |||
0a515cc963 | |||
2fe398d9f8 | |||
e171bda08f | |||
72f89e9434 | |||
508b6ff4d7 | |||
5ee20a4383 | |||
d989383a27 | |||
d209118686 |
@ -2,29 +2,29 @@
|
||||
# (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.
|
||||
|
||||
rule wave
|
||||
{
|
||||
Depends $1 : $2 ;
|
||||
}
|
||||
|
||||
actions wave
|
||||
{
|
||||
$(BOOST_ROOT)/dist/bin/wave -S$(BOOST_ROOT) $(>) -o $(<)
|
||||
$(>[1]) -S../../.. $(>[2]) -o $(<)
|
||||
}
|
||||
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/arity_loops
|
||||
: preprocess_arity_loops.cpp : wave
|
||||
W = ../../../tools/wave/build//wave ;
|
||||
|
||||
make arity_loops
|
||||
: preprocess_arity_loops.cpp $(W) : wave : <location>build/timestamps
|
||||
;
|
||||
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/encoding
|
||||
: preprocess_encoding.cpp : wave
|
||||
make encoding
|
||||
: preprocess_encoding.cpp $(W) : wave : <location>build/timestamps
|
||||
;
|
||||
|
||||
make $(BOOST_ROOT)/libs/function_types/build/timestamps/cc_names
|
||||
: preprocess_cc_names.cpp : wave
|
||||
;
|
||||
|
||||
make cc_names
|
||||
: preprocess_cc_names.cpp $(W) : wave : <location>build/timestamps
|
||||
;
|
||||
|
||||
explicit arity_loops encoding cc_names ;
|
||||
|
||||
|
@ -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,2 +1 @@
|
||||
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 ;
|
||||
|
||||
@ -12,8 +12,6 @@ boostbook standalone
|
||||
function_types
|
||||
:
|
||||
<xsl:param>boost.root=../../../..
|
||||
<xsl:param>boost.libraries=../../../libraries.htm
|
||||
<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
|
||||
|
@ -897,7 +897,7 @@ definition of [^BOOST_FT_CC_NAMES]:
|
||||
|
||||
[section:BOOST_FT_CC BOOST_FT\_CC\_*]
|
||||
|
||||
Enables a specific calling convention. * dentoes the macro suffix, as
|
||||
Enables a specific calling convention. * denotes the macro suffix, as
|
||||
defined by
|
||||
[link boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES [^BOOST_FT_CC_NAMES]]
|
||||
or
|
||||
@ -1099,6 +1099,7 @@ library in one or the other way:
|
||||
* Jonathan Turkanis
|
||||
* Pavel Vozenilek
|
||||
* Steven Watanabe
|
||||
* K. Noel Belcourt
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -1,30 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> About Tag Types</title>
|
||||
<link rel="stylesheet" href="../../../../../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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="use_cases.html" title=" Use Cases">
|
||||
<link rel="next" href="reference.html" title=" Reference">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>About Tag Types</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="use_cases.html" title="Use Cases">
|
||||
<link rel="next" href="reference.html" title="Reference">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.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="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="use_cases.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.about_tag_types"></a><a href="about_tag_types.html" title=" About Tag Types"> About Tag Types</a></h2></div></div></div>
|
||||
<a name="boost_functiontypes.about_tag_types"></a><a class="link" href="about_tag_types.html" title="About Tag Types"> About Tag Types</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Boost.FunctionTypes uses tag types to encode properties that are not types
|
||||
per se, such as calling convention or whether a function is variadic or cv-
|
||||
@ -34,8 +35,7 @@
|
||||
These tags can be used to determine whether one property of a type has a particular
|
||||
value.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">is_function</span><span class="special"><</span><span class="keyword">int</span><span class="special">(...),</span> <span class="identifier">variadic</span><span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == true
|
||||
<pre class="programlisting"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">int</span><span class="special">(...),</span> <span class="identifier">variadic</span><span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == true
|
||||
</span><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">int</span><span class="special">()</span> <span class="special">,</span> <span class="identifier">variadic</span><span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == false
|
||||
</span></pre>
|
||||
<p>
|
||||
@ -44,22 +44,19 @@
|
||||
is a callable builtin type, is a compound property tag that describes <code class="literal">F</code>.
|
||||
The <code class="literal">tag</code> class template can be used to combine property tags.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">tag</span><span class="special"><</span><span class="identifier">non_const</span><span class="special">,</span><span class="identifier">default_cc</span><span class="special">></span> <span class="comment">// combination of two properties
|
||||
<pre class="programlisting"><span class="identifier">tag</span><span class="special"><</span><span class="identifier">non_const</span><span class="special">,</span><span class="identifier">default_cc</span><span class="special">></span> <span class="comment">// combination of two properties
|
||||
</span></pre>
|
||||
<p>
|
||||
When several values for the same property are specified in <code class="literal">tag</code>'s
|
||||
argument list, only the rightmost one is used; others are ignored.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">tag</span><span class="special"><</span><span class="identifier">components</span><span class="special"><</span><span class="identifier">F</span><span class="special">>,</span> <span class="identifier">default_cc</span><span class="special">></span> <span class="comment">// overrides F's calling convention property
|
||||
<pre class="programlisting"><span class="identifier">tag</span><span class="special"><</span><span class="identifier">components</span><span class="special"><</span><span class="identifier">F</span><span class="special">>,</span> <span class="identifier">default_cc</span><span class="special">></span> <span class="comment">// overrides F's calling convention property
|
||||
</span></pre>
|
||||
<p>
|
||||
When compound property tag is specified to analyse a type, all of its component
|
||||
properties must match.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">is_member_function_pointer</span><span class="special"><</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">const_qualified</span><span class="special">,</span><span class="identifier">default_cc</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span>
|
||||
<pre class="programlisting"><span class="identifier">is_member_function_pointer</span><span class="special"><</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">const_qualified</span><span class="special">,</span><span class="identifier">default_cc</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="comment">// true for
|
||||
</span><span class="comment">// F = void(a_class::*)() const
|
||||
</span><span class="comment">// false for
|
||||
@ -70,8 +67,7 @@
|
||||
Default values are selected for properties not specified by the tag in the
|
||||
context of type synthesis.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="comment">// given S = mpl::vector<int,a_class const &>
|
||||
<pre class="programlisting"><span class="comment">// given S = mpl::vector<int,a_class const &>
|
||||
</span>
|
||||
<span class="identifier">member_function_pointer</span><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is int (a_class::*)() const
|
||||
</span><span class="comment">// note: the cv-qualification is picked based on the class type,
|
||||
@ -84,11 +80,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="use_cases.html"><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>
|
||||
<a accesskey="p" href="use_cases.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,85 +1,93 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Acknowledgements</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="rationale.html" title=" Rationale">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="rationale.html" title="Rationale">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.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="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.acknowledgements"></a><a href="acknowledgements.html" title=" Acknowledgements"> Acknowledgements</a></h2></div></div></div>
|
||||
<a name="boost_functiontypes.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements"> Acknowledgements</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Thanks go to the following people for supporting the development of this library
|
||||
in one or the other way:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
David Abrahams
|
||||
</li>
|
||||
<li>
|
||||
Tom Brinkman
|
||||
</li>
|
||||
<li>
|
||||
Aleksey Gurtovoy
|
||||
</li>
|
||||
<li>
|
||||
Jody Hagins
|
||||
</li>
|
||||
<li>
|
||||
Hartmut Kaiser
|
||||
</li>
|
||||
<li>
|
||||
Andy Little
|
||||
</li>
|
||||
<li>
|
||||
John Maddock
|
||||
</li>
|
||||
<li>
|
||||
Paul Mensonides
|
||||
</li>
|
||||
<li>
|
||||
Alexander Nasonov
|
||||
</li>
|
||||
<li>
|
||||
Richard Smith
|
||||
</li>
|
||||
<li>
|
||||
Rob Stewart
|
||||
</li>
|
||||
<li>
|
||||
Jonathan Turkanis
|
||||
</li>
|
||||
<li>
|
||||
Pavel Vozenilek
|
||||
</li>
|
||||
<li>
|
||||
Steven Watanabe
|
||||
</li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
David Abrahams
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Tom Brinkman
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Aleksey Gurtovoy
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Jody Hagins
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Hartmut Kaiser
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Andy Little
|
||||
</li>
|
||||
<li class="listitem">
|
||||
John Maddock
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Paul Mensonides
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Alexander Nasonov
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Richard Smith
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Rob Stewart
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Jonathan Turkanis
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Pavel Vozenilek
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Steven Watanabe
|
||||
</li>
|
||||
<li class="listitem">
|
||||
K. Noel Belcourt
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="rationale.html"><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="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,30 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Introduction</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="next" href="use_cases.html" title=" Use Cases">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="next" href="use_cases.html" title="Use Cases">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.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="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../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>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_cases.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.introduction"></a><a href="introduction.html" title=" Introduction"> Introduction</a></h2></div></div></div>
|
||||
<a name="boost_functiontypes.introduction"></a><a class="link" href="introduction.html" title="Introduction"> Introduction</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Boost.FunctionTypes provides functionality to classify, decompose and synthesize
|
||||
function, function pointer, function reference and pointer to member types.
|
||||
@ -36,16 +37,16 @@
|
||||
<p>
|
||||
In particular, the library can be used to:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
test whether a type is a specific callable, builtin type,
|
||||
</li>
|
||||
<li>
|
||||
extract all component properties from callable, builtin types, and
|
||||
</li>
|
||||
<li>
|
||||
create callable, builtin types from specified properties.
|
||||
</li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
test whether a type is a specific callable, builtin type,
|
||||
</li>
|
||||
<li class="listitem">
|
||||
extract all component properties from callable, builtin types, and
|
||||
</li>
|
||||
<li class="listitem">
|
||||
create callable, builtin types from specified properties.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
The library is designed to work well with other Boost libraries and uses well-accepted
|
||||
@ -55,40 +56,36 @@
|
||||
Templates that encapsulate boolean or numeric properties define a static member
|
||||
constant called <code class="literal">value</code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="reference/classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="
|
||||
is_function_pointer">is_function_pointer</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == true
|
||||
<pre class="programlisting"><a class="link" href="reference/classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="is_function_pointer">is_function_pointer</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == true
|
||||
</span>
|
||||
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
|
||||
function_arity">function_arity</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == 1
|
||||
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">function_arity</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">value</span> <span class="comment">// == 1
|
||||
</span></pre>
|
||||
<p>
|
||||
Templates that encapsulate properties that are single types contain a type
|
||||
member called <code class="literal">type</code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="
|
||||
function_type">function_type</a><span class="special"><</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool(int)
|
||||
<pre class="programlisting"><a class="link" href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="function_type">function_type</a><span class="special"><</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool(int)
|
||||
</span>
|
||||
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="
|
||||
result_type">result_type</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(&)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool
|
||||
<a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="result_type">result_type</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(&)(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="comment">// is bool
|
||||
</span></pre>
|
||||
<p>
|
||||
Templates that encapsulate properties that are type lists model an MPL-compatible
|
||||
type sequence.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
|
||||
parameter_types">parameter_types</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">></span> <span class="comment">// models an MPL sequence
|
||||
<pre class="programlisting"><a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">parameter_types</a><span class="special"><</span> <span class="keyword">bool</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">></span> <span class="comment">// models an MPL sequence
|
||||
</span></pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><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>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_cases.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,35 +1,36 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Rationale</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="reference/macros.html" title=" Macros">
|
||||
<link rel="next" href="acknowledgements.html" title=" Acknowledgements">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Rationale</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="reference/macros.html" title="Macros">
|
||||
<link rel="next" href="acknowledgements.html" title="Acknowledgements">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.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="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="reference/macros.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<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="id932133"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
|
||||
<a name="boost_functiontypes.rationale"></a><a class="link" href="rationale.html" title="Rationale"> Rationale</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_functiontypes.rationale.error_handling_rationale"></a><h4>
|
||||
<a name="id768333"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.error_handling_rationale">Error
|
||||
handling rationale</a>
|
||||
</h3>
|
||||
</h4>
|
||||
<p>
|
||||
The library does not define the required members of class templates in case
|
||||
of an error. This technique causes the compiler to stop displaying diagnostics
|
||||
@ -40,10 +41,10 @@
|
||||
The library's components have limited error conditions, so problematic input
|
||||
can be spotted easily.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h3>
|
||||
<a name="id932170"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
|
||||
</h3>
|
||||
<a name="boost_functiontypes.rationale.why_mpl_sequences_"></a><h4>
|
||||
<a name="id768365"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_mpl_sequences_">Why MPL Sequences?</a>
|
||||
</h4>
|
||||
<p>
|
||||
MPL provides algorithms on Sequences, so transformations (such as turning by-value
|
||||
parameter types into const references for optimized forwarding or computing
|
||||
@ -53,20 +54,20 @@
|
||||
other Boost libraries (most importantly <a href="../../../../fusion/index.html" target="_top">Fusion</a>),
|
||||
so another reason is interoperability.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h3>
|
||||
<a name="id932228"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
|
||||
<a name="boost_functiontypes.rationale.pointer_to_member_object_types"></a><h4>
|
||||
<a name="id768415"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.pointer_to_member_object_types">Pointer
|
||||
to member object types</a>
|
||||
</h3>
|
||||
</h4>
|
||||
<p>
|
||||
Despite their syntax, pointer to member object types can be seen as dereferencing
|
||||
functionals.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h3>
|
||||
<a name="id932259"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
|
||||
<a name="boost_functiontypes.rationale.the_classtransform_template_parameter"></a><h4>
|
||||
<a name="id768441"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.the_classtransform_template_parameter">The
|
||||
ClassTransform template parameter</a>
|
||||
</h3>
|
||||
</h4>
|
||||
<p>
|
||||
<code class="literal">This</code>-pointer, <code class="literal">this</code>-reference or just
|
||||
the object (or maybe even a smart pointer to the object) plus adjustments of
|
||||
@ -79,10 +80,10 @@
|
||||
client to adjust the class type before the sequence is formed and then treat
|
||||
all parameters uniformly.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h3>
|
||||
<a name="id932315"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
|
||||
</h3>
|
||||
<a name="boost_functiontypes.rationale.why_tag_types_"></a><h4>
|
||||
<a name="id768490"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_tag_types_">Why tag types?</a>
|
||||
</h4>
|
||||
<p>
|
||||
Let's consider the alternatives.
|
||||
</p>
|
||||
@ -98,12 +99,12 @@
|
||||
parameters do not work within MPL lambda expressions and can cause problems
|
||||
with older compilers.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_"></a><h3>
|
||||
<a name="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
|
||||
<a name="boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_"></a><h4>
|
||||
<a name="id768534"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.is_it_safe_to_have_the_synthesis_templates_take_a_callable__builtin_type_or_an_mpl_sequence_as_the_first_template_argument_">Is
|
||||
it safe to have the synthesis templates take a callable builtin type or an
|
||||
MPL sequence as the first template argument?</a>
|
||||
</h3>
|
||||
</h4>
|
||||
<p>
|
||||
Yes, but it isn't immediately obvious as the set of possible MPL sequences
|
||||
isn't inherently disjoint from the set of callable builtin types.
|
||||
@ -113,25 +114,22 @@
|
||||
idea, because builtin types are accessible before the headers that make the
|
||||
type a sequence have been included, which can easily violate the ODR.
|
||||
</p>
|
||||
<a name="boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_"></a><h3>
|
||||
<a name="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
|
||||
<a name="boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_"></a><h4>
|
||||
<a name="id768574"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_does_the_hidden__literal_this__literal__parameter_count_for_the__function_arity_of_member_functions_">Why
|
||||
does the hidden <code class="literal">this</code> parameter count for the function arity
|
||||
of member functions?</a>
|
||||
</h3>
|
||||
</h4>
|
||||
<p>
|
||||
It was found preferable that the following condition holds:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size</span><span class="special"><</span> <a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
|
||||
parameter_types">parameter_types</a><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span> <span class="special">==</span> <a href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
|
||||
function_arity">function_arity</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<pre class="programlisting"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size</span><span class="special"><</span> <a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">parameter_types</a><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span> <span class="special">==</span> <a class="link" href="reference/decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">function_arity</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
</pre>
|
||||
<a name="boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_"></a><h3>
|
||||
<a name="id932540"></a>
|
||||
<a href="rationale.html#boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_">Why
|
||||
<a name="boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_"></a><h4>
|
||||
<a name="id768683"></a>
|
||||
<a class="link" href="rationale.html#boost_functiontypes.rationale.why_ignore_top_level_cv_qualifiers_on_pointers_">Why
|
||||
ignore top-level cv-qualifiers on pointers?</a>
|
||||
</h3>
|
||||
</h4>
|
||||
<p>
|
||||
A cv-qualified pointer is still a pointer. It usually doesn't matter and even
|
||||
if it does, it's a job for <a href="../../../../type_traits/index.html" target="_top">Boost.TypeTraits</a>.
|
||||
@ -139,11 +137,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reference/macros.html"><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>
|
||||
<a accesskey="p" href="reference/macros.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,31 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Reference</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="about_tag_types.html" title=" About Tag Types">
|
||||
<link rel="next" href="reference/classification.html" title=" Class
|
||||
templates for type classification">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Reference</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="about_tag_types.html" title="About Tag Types">
|
||||
<link rel="next" href="reference/classification.html" title="Class templates for type classification">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.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="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="about_tag_types.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/classification.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.reference"></a><a href="reference.html" title=" Reference"> Reference</a></h2></div></div></div>
|
||||
<a name="boost_functiontypes.reference"></a><a class="link" href="reference.html" title="Reference"> Reference</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="reference/classification.html"> Class
|
||||
templates for type classification</a></span></dt>
|
||||
@ -39,11 +39,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="about_tag_types.html"><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>
|
||||
<a accesskey="p" href="about_tag_types.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/classification.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,34 +1,32 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Class
|
||||
templates for type classification</title>
|
||||
<link rel="stylesheet" href="../../../../../../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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title=" Reference">
|
||||
<link rel="prev" href="../reference.html" title=" Reference">
|
||||
<link rel="next" href="decomposition.html" title=" Class templates
|
||||
for type decomposition">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class templates for type classification</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="../reference.html" title="Reference">
|
||||
<link rel="next" href="decomposition.html" title="Class templates for type decomposition">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.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="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../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>
|
||||
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decomposition.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_functiontypes.reference.classification"></a><a href="classification.html" title=" Class
|
||||
templates for type classification"> Class
|
||||
templates for type classification</a></h3></div></div></div>
|
||||
<a name="boost_functiontypes.reference.classification"></a><a class="link" href="classification.html" title="Class templates for type classification"> Class
|
||||
templates for type classification</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="classification.html#boost_functiontypes.reference.classification.is_function">
|
||||
is_function</a></span></dt>
|
||||
@ -47,43 +45,40 @@
|
||||
<dt><span class="section"><a href="classification.html#boost_functiontypes.reference.classification.is_nonmember_callable_builtin">
|
||||
is_nonmember_callable_builtin</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_function"></a><a href="classification.html#boost_functiontypes.reference.classification.is_function" title="
|
||||
is_function">
|
||||
is_function</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_function"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_function" title="is_function">
|
||||
is_function</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_function</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_function<T,Tag></code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -91,43 +86,40 @@
|
||||
properties as specified by a property tag.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_function_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="
|
||||
is_function_pointer">
|
||||
is_function_pointer</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_function_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_function_pointer" title="is_function_pointer">
|
||||
is_function_pointer</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
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><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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -135,43 +127,40 @@
|
||||
properties as specified by a property tag.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_function_reference"></a><a href="classification.html#boost_functiontypes.reference.classification.is_function_reference" title="
|
||||
is_function_reference">
|
||||
is_function_reference</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_function_reference"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_function_reference" title="is_function_reference">
|
||||
is_function_reference</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_function_reference</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_function_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_function_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
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><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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -179,43 +168,40 @@
|
||||
additional properties as specified by a property tag.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_member_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_member_pointer" title="
|
||||
is_member_pointer">
|
||||
is_member_pointer</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_member_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_member_pointer" title="is_member_pointer">
|
||||
is_member_pointer</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_member_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_member_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_member_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
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><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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -223,81 +209,76 @@
|
||||
type, possibly with additional properties as specified by a property tag.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_member_object_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_member_object_pointer" title="
|
||||
is_member_object_pointer">
|
||||
is_member_object_pointer</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_member_object_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_member_object_pointer" title="is_member_object_pointer">
|
||||
is_member_object_pointer</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_member_object_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_member_object_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_member_object_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">is_member_object_pointer<T></code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
Determines whether a given type is a pointer to member object type.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_member_function_pointer"></a><a href="classification.html#boost_functiontypes.reference.classification.is_member_function_pointer" title="
|
||||
is_member_function_pointer">
|
||||
is_member_function_pointer</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_member_function_pointer"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_member_function_pointer" title="is_member_function_pointer">
|
||||
is_member_function_pointer</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_member_function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
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><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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -305,43 +286,40 @@
|
||||
with additional properties as specified by a property tag.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_callable_builtin"></a><a href="classification.html#boost_functiontypes.reference.classification.is_callable_builtin" title="
|
||||
is_callable_builtin">
|
||||
is_callable_builtin</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_callable_builtin"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_callable_builtin" title="is_callable_builtin">
|
||||
is_callable_builtin</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_callable_builtin</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_callable_builtin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_callable_builtin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
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><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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -349,43 +327,40 @@
|
||||
properties as specified by a property tag.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.classification.is_nonmember_callable_builtin"></a><a href="classification.html#boost_functiontypes.reference.classification.is_nonmember_callable_builtin" title="
|
||||
is_nonmember_callable_builtin">
|
||||
is_nonmember_callable_builtin</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.classification.is_nonmember_callable_builtin"></a><a class="link" href="classification.html#boost_functiontypes.reference.classification.is_nonmember_callable_builtin" title="is_nonmember_callable_builtin">
|
||||
is_nonmember_callable_builtin</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_nonmember_callable_builtin</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_nonmember_callable_builtin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">is_nonmember_callable_builtin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">Tag</code></span></dt>
|
||||
<dd><p>
|
||||
Further properties required for a positive result
|
||||
</p></dd>
|
||||
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><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>
|
||||
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><p>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
Constant boolean value
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -397,11 +372,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../reference.html"><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>
|
||||
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decomposition.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,35 +1,32 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Class templates
|
||||
for type decomposition</title>
|
||||
<link rel="stylesheet" href="../../../../../../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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title=" Reference">
|
||||
<link rel="prev" href="classification.html" title=" Class
|
||||
templates for type classification">
|
||||
<link rel="next" href="synthesis.html" title=" Class templates
|
||||
for type synthesis">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class templates for type decomposition</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="classification.html" title="Class templates for type classification">
|
||||
<link rel="next" href="synthesis.html" title="Class templates for type synthesis">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.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="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="classification.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synthesis.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_functiontypes.reference.decomposition"></a><a href="decomposition.html" title=" Class templates
|
||||
for type decomposition"> Class templates
|
||||
for type decomposition</a></h3></div></div></div>
|
||||
<a name="boost_functiontypes.reference.decomposition"></a><a class="link" href="decomposition.html" title="Class templates for type decomposition"> Class templates
|
||||
for type decomposition</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="decomposition.html#boost_functiontypes.reference.decomposition.result_type">
|
||||
result_type</a></span></dt>
|
||||
@ -40,32 +37,30 @@
|
||||
<dt><span class="section"><a href="decomposition.html#boost_functiontypes.reference.decomposition.components">
|
||||
components</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.decomposition.result_type"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="
|
||||
result_type">
|
||||
result_type</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.decomposition.result_type"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.result_type" title="result_type">
|
||||
result_type</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">result_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">result_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">F</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">result_type<F>::type</code></span></dt>
|
||||
<dd><p>
|
||||
Result type of <code class="literal">F</code>
|
||||
</p></dd>
|
||||
Result type of <code class="literal">F</code>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -76,42 +71,40 @@
|
||||
the <code class="literal">type</code> member results in a compile error.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.decomposition.parameter_types"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="
|
||||
parameter_types">
|
||||
parameter_types</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ClassTransform</span> <span class="special">=</span> <span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.decomposition.parameter_types"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.parameter_types" title="parameter_types">
|
||||
parameter_types</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ClassTransform</span> <span class="special">=</span> <span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">parameter_types</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">parameter_types</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">parameter_types</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">F</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">ClassTransform</code></span></dt>
|
||||
<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>
|
||||
<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><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>
|
||||
<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>
|
||||
@ -122,38 +115,36 @@
|
||||
the sequence results in a compile error.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.decomposition.function_arity"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="
|
||||
function_arity">
|
||||
function_arity</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.decomposition.function_arity"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.function_arity" title="function_arity">
|
||||
function_arity</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_arity</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_arity</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_arity</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">F</code></span></dt>
|
||||
<dd><p>
|
||||
Callable builtin type
|
||||
</p></dd>
|
||||
Callable builtin type
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_arity<F></code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Constant value of the function arity
|
||||
</p></dd>
|
||||
Constant value of the function arity
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -167,46 +158,44 @@
|
||||
the value results in a compile error.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.decomposition.components"></a><a href="decomposition.html#boost_functiontypes.reference.decomposition.components" title="
|
||||
components">
|
||||
components</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ClassTransform</span> <span class="special">=</span> <span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.decomposition.components"></a><a class="link" href="decomposition.html#boost_functiontypes.reference.decomposition.components" title="components">
|
||||
components</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ClassTransform</span> <span class="special">=</span> <span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">components</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">components</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">components</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">T</code></span></dt>
|
||||
<dd><p>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
Type to analyze
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">ClassTransform</code></span></dt>
|
||||
<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>
|
||||
<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><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>
|
||||
<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><p>
|
||||
Decorated MPL Sequence, exposed for optimization
|
||||
</p></dd>
|
||||
Decorated MPL Sequence, exposed for optimization
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -216,18 +205,21 @@
|
||||
</p>
|
||||
<p>
|
||||
If <code class="literal">T</code> is no callable builtin type, the component types
|
||||
are an empty sequence and the Tag's meaning is equivalent to the <code class="literal"><a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a></code>.
|
||||
are an empty sequence and the Tag's meaning is equivalent to the <code class="literal"><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a></code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="classification.html"><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>
|
||||
<a accesskey="p" href="classification.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synthesis.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,30 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Macros</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title=" Reference">
|
||||
<link rel="prev" href="tag_types.html" title=" Tag Types">
|
||||
<link rel="next" href="../rationale.html" title=" Rationale">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macros</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="tag_types.html" title="Tag Types">
|
||||
<link rel="next" href="../rationale.html" title="Rationale">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.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="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="tag_types.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../rationale.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_functiontypes.reference.macros"></a><a href="macros.html" title=" Macros"> Macros</a></h3></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros"></a><a class="link" href="macros.html" title="Macros"> Macros</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY">
|
||||
BOOST_FT_MAX_ARITY</a></span></dt>
|
||||
@ -45,11 +46,11 @@
|
||||
<dt><span class="section"><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING">
|
||||
BOOST_FT_CC_PREPROCESSING</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY" title="
|
||||
BOOST_FT_MAX_ARITY">
|
||||
BOOST_FT_MAX_ARITY</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_MAX_ARITY" title="BOOST_FT_MAX_ARITY">
|
||||
BOOST_FT_MAX_ARITY</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Expands to a numeric value that describes the maximum function arity supported
|
||||
by the library.
|
||||
@ -64,19 +65,18 @@
|
||||
to configure the library to work with a compiler and/or calling convention
|
||||
not covered by the auto-detection mechanism in <code class="literal">boost/function_types/config/compiler.hpp</code>.</strong></span>
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
|
||||
BOOST_FT_CC_NAMES">
|
||||
BOOST_FT_CC_NAMES</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES">
|
||||
BOOST_FT_CC_NAMES</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Expands to a <a href="../../../../../preprocessor/doc/data/sequences.html" target="_top">sequence</a>
|
||||
of ternary <a href="../../../../../preprocessor/doc/data/tuples.html" target="_top">tuples</a>
|
||||
(these data types are defined in the <a href="../../../../../preprocessor/doc/index.html" target="_top">documentation
|
||||
of the Boost Preprocessor library</a>). Each sequence element describes
|
||||
one calling convention specifier. The first element in each tuple is the
|
||||
macro suffix for <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="
|
||||
BOOST_FT_CC_*"><code class="literal">BOOST_FT_CC_*</code></a>,
|
||||
macro suffix for <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="BOOST_FT_CC_*"><code class="literal">BOOST_FT_CC_*</code></a>,
|
||||
the second element is the name of the tag that describes the calling convention
|
||||
and the third is the name of the specifier. The specifier is allowed to
|
||||
be an empty string, so the third tuple element is either <a href="../../../../../preprocessor/doc/ref/empty.html" target="_top"><code class="literal">BOOST_PP_EMPTY</code></a>
|
||||
@ -90,8 +90,7 @@
|
||||
The following names are predefined by the library and must not occur in
|
||||
the definition of <code class="literal">BOOST_FT_CC_NAMES</code>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_BUILTIN_CC_NAMES</span> <span class="special">\</span>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_BUILTIN_CC_NAMES</span> <span class="special">\</span>
|
||||
<span class="special">((</span> <span class="identifier">IMPLICIT</span> <span class="special">,</span> <span class="identifier">implicit_cc</span> <span class="special">,</span> <span class="identifier">BOOST_PP_EMPTY</span> <span class="special">))\</span>
|
||||
<span class="special">((</span> <span class="identifier">CDECL</span> <span class="special">,</span> <span class="identifier">cdecl_cc</span> <span class="special">,</span> <span class="identifier">BOOST_PP_IDENTITY</span><span class="special">(</span><span class="identifier">__cdecl</span> <span class="special">)</span> <span class="special">))\</span>
|
||||
<span class="special">((</span> <span class="identifier">STDCALL</span> <span class="special">,</span> <span class="identifier">stdcall_cc</span> <span class="special">,</span> <span class="identifier">BOOST_PP_IDENTITY</span><span class="special">(</span><span class="identifier">__stdcall</span> <span class="special">)</span> <span class="special">))\</span>
|
||||
@ -104,69 +103,65 @@
|
||||
</span><span class="comment">// explicitly prior to MSVC 8).
|
||||
</span></pre>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="
|
||||
BOOST_FT_CC_*">
|
||||
BOOST_FT_CC_*</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC" title="BOOST_FT_CC_*">
|
||||
BOOST_FT_CC_*</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Enables a specific calling convention. * dentoes the macro suffix, as defined
|
||||
by <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
|
||||
BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
|
||||
or <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
|
||||
BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_BUILTIN_CC_NAMES</code></a>.
|
||||
Enables a specific calling convention. * denotes the macro suffix, as defined
|
||||
by <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
|
||||
or <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_BUILTIN_CC_NAMES</code></a>.
|
||||
</p>
|
||||
<p>
|
||||
The macro expands to a list of restrictions, separated by the <code class="literal">|</code>
|
||||
character. Possible items are:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
callable_builtin
|
||||
</li>
|
||||
<li>
|
||||
member
|
||||
</li>
|
||||
<li>
|
||||
non_member
|
||||
</li>
|
||||
<li>
|
||||
variadic
|
||||
</li>
|
||||
<li>
|
||||
non_variadic
|
||||
</li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
callable_builtin
|
||||
</li>
|
||||
<li class="listitem">
|
||||
member
|
||||
</li>
|
||||
<li class="listitem">
|
||||
non_member
|
||||
</li>
|
||||
<li class="listitem">
|
||||
variadic
|
||||
</li>
|
||||
<li class="listitem">
|
||||
non_variadic
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
If no such macro is defined for a particular calling convention, it is
|
||||
disabled. Example:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_CC_STDCALL</span> <span class="identifier">non_variadic</span><span class="special">|</span><span class="identifier">callable_builtin</span>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_CC_STDCALL</span> <span class="identifier">non_variadic</span><span class="special">|</span><span class="identifier">callable_builtin</span>
|
||||
<span class="comment">// enables stdcall calling convention for all non-variadic,
|
||||
</span><span class="comment">// callable, builtin types
|
||||
</span></pre>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs" title="
|
||||
BOOST_FT_COMMON_X86_CCs">
|
||||
BOOST_FT_COMMON_X86_CCs</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_COMMON_X86_CCs" title="BOOST_FT_COMMON_X86_CCs">
|
||||
BOOST_FT_COMMON_X86_CCs</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Defining this macro causes the following macros to be defined, if not defined
|
||||
already:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_CC_CDECL</span> <span class="identifier">BOOST_FT_COMMON_X86_CCs</span>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_CC_CDECL</span> <span class="identifier">BOOST_FT_COMMON_X86_CCs</span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_CC_STDCALL</span> <span class="identifier">non_variadic</span><span class="special">|</span><span class="identifier">BOOST_FT_COMMON_X86_CCs</span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_CC_FASTCALL</span> <span class="identifier">non_variadic</span><span class="special">|</span><span class="identifier">BOOST_FT_COMMON_X86_CCs</span>
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_SYNTAX"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_SYNTAX" title="
|
||||
BOOST_FT_SYNTAX">
|
||||
BOOST_FT_SYNTAX</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_SYNTAX"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_SYNTAX" title="BOOST_FT_SYNTAX">
|
||||
BOOST_FT_SYNTAX</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
This macro allows to change the syntax of callable builtin types. It is
|
||||
useful to handle the compiler specific placement of the calling convention
|
||||
@ -175,26 +170,25 @@
|
||||
<p>
|
||||
The default definition is as follows:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_SYNTAX</span><span class="special">(</span><span class="identifier">result</span><span class="special">,</span><span class="identifier">lparen</span><span class="special">,</span><span class="identifier">cc_spec</span><span class="special">,</span><span class="identifier">type_mod</span><span class="special">,</span><span class="identifier">name</span><span class="special">,</span><span class="identifier">rparen</span><span class="special">)</span> <span class="special">\</span>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_FT_SYNTAX</span><span class="special">(</span><span class="identifier">result</span><span class="special">,</span><span class="identifier">lparen</span><span class="special">,</span><span class="identifier">cc_spec</span><span class="special">,</span><span class="identifier">type_mod</span><span class="special">,</span><span class="identifier">name</span><span class="special">,</span><span class="identifier">rparen</span><span class="special">)</span> <span class="special">\</span>
|
||||
<span class="identifier">result</span><span class="special">()</span> <span class="identifier">lparen</span><span class="special">()</span> <span class="identifier">cc_spec</span><span class="special">()</span> <span class="identifier">type_mod</span><span class="special">()</span> <span class="identifier">name</span><span class="special">()</span> <span class="identifier">rparen</span><span class="special">()</span>
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM" title="
|
||||
BOOST_FT_NULLARY_PARAM">
|
||||
BOOST_FT_NULLARY_PARAM</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NULLARY_PARAM" title="BOOST_FT_NULLARY_PARAM">
|
||||
BOOST_FT_NULLARY_PARAM</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Set to <code class="literal">void</code> for compilers that insist on a <code class="literal">void</code>
|
||||
parameter for nullary function types, empty by default.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT" title="
|
||||
BOOST_FT_NO_CV_FUNC_SUPPORT">
|
||||
BOOST_FT_NO_CV_FUNC_SUPPORT</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_NO_CV_FUNC_SUPPORT" title="BOOST_FT_NO_CV_FUNC_SUPPORT">
|
||||
BOOST_FT_NO_CV_FUNC_SUPPORT</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Disables support for cv-qualified function types. Cv-qualified function
|
||||
types are illegal by the current standard version, but there is a pending
|
||||
@ -207,40 +201,43 @@
|
||||
<span class="bold"><strong>The following macros are useful for testing when changing
|
||||
the source code of the library.</strong></span>
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE" title="
|
||||
BOOST_FT_PREPROCESSING_MODE">
|
||||
BOOST_FT_PREPROCESSING_MODE</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_PREPROCESSING_MODE" title="BOOST_FT_PREPROCESSING_MODE">
|
||||
BOOST_FT_PREPROCESSING_MODE</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Makes the compiler preprocess as much as possible of the library code (rather
|
||||
than loading already-preprocessed header files) if defined.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING"></a><a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING" title="
|
||||
BOOST_FT_CC_PREPROCESSING">
|
||||
BOOST_FT_CC_PREPROCESSING</a></h4></div></div></div>
|
||||
<a name="boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING"></a><a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_PREPROCESSING" title="BOOST_FT_CC_PREPROCESSING">
|
||||
BOOST_FT_CC_PREPROCESSING</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Makes the compiler preprocess the loop over possible names for custom calling
|
||||
conventions (rather than loading an already-preprocessed header file) if
|
||||
defined.
|
||||
</p>
|
||||
<p>
|
||||
This macro is defined automatically if <a href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="
|
||||
BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
|
||||
This macro is defined automatically if <a class="link" href="macros.html#boost_functiontypes.reference.macros.BOOST_FT_CC_NAMES" title="BOOST_FT_CC_NAMES"><code class="literal">BOOST_FT_CC_NAMES</code></a>
|
||||
has been defined.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="tag_types.html"><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>
|
||||
<a accesskey="p" href="tag_types.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../rationale.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,34 +1,32 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Class templates
|
||||
for type synthesis</title>
|
||||
<link rel="stylesheet" href="../../../../../../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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title=" Reference">
|
||||
<link rel="prev" href="decomposition.html" title=" Class templates
|
||||
for type decomposition">
|
||||
<link rel="next" href="tag_types.html" title=" Tag Types">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class templates for type synthesis</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="decomposition.html" title="Class templates for type decomposition">
|
||||
<link rel="next" href="tag_types.html" title="Tag Types">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.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="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="decomposition.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tag_types.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_functiontypes.reference.synthesis"></a><a href="synthesis.html" title=" Class templates
|
||||
for type synthesis"> Class templates
|
||||
for type synthesis</a></h3></div></div></div>
|
||||
<a name="boost_functiontypes.reference.synthesis"></a><a class="link" href="synthesis.html" title="Class templates for type synthesis"> Class templates
|
||||
for type synthesis</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_type">
|
||||
function_type</a></span></dt>
|
||||
@ -39,39 +37,36 @@
|
||||
<dt><span class="section"><a href="synthesis.html#boost_functiontypes.reference.synthesis.member_function_pointer">
|
||||
member_function_pointer</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.synthesis.function_type"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="
|
||||
function_type">
|
||||
function_type</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.synthesis.function_type"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.function_type" title="function_type">
|
||||
function_type</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_type</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_type<Types,Tag>::type</code></span></dt>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -82,39 +77,36 @@
|
||||
access the <code class="literal">type</code> member will result in a compile error.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.synthesis.function_pointer"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="
|
||||
function_pointer">
|
||||
function_pointer</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.synthesis.function_pointer"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="function_pointer">
|
||||
function_pointer</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_pointer<Types,Tag>::type</code></span></dt>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -125,39 +117,36 @@
|
||||
access the <code class="literal">type</code> member will result in a compile error.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.synthesis.function_reference"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.function_reference" title="
|
||||
function_reference">
|
||||
function_reference</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.synthesis.function_reference"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.function_reference" title="function_reference">
|
||||
function_reference</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">function_reference</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">function_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">function_reference<Types,Tag>::type</code></span></dt>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -168,39 +157,36 @@
|
||||
access the <code class="literal">type</code> member will result in a compile error.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.synthesis.member_function_pointer"></a><a href="synthesis.html#boost_functiontypes.reference.synthesis.member_function_pointer" title="
|
||||
member_function_pointer">
|
||||
member_function_pointer</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">null_tag</a><span class="special">></span>
|
||||
<a name="boost_functiontypes.reference.synthesis.member_function_pointer"></a><a class="link" href="synthesis.html#boost_functiontypes.reference.synthesis.member_function_pointer" title="member_function_pointer">
|
||||
member_function_pointer</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">=</span> <a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">null_tag</a><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">member_function_pointer</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b></b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="literal">Types</code></span></dt>
|
||||
<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>
|
||||
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><p>
|
||||
Further properties
|
||||
</p></dd>
|
||||
Further properties
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">member_function_pointer<Types,Tag>::type</code></span></dt>
|
||||
<dd><p>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
Synthesized type
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -220,11 +206,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="decomposition.html"><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>
|
||||
<a accesskey="p" href="decomposition.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tag_types.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,31 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Tag Types</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title=" Reference">
|
||||
<link rel="prev" href="synthesis.html" title=" Class templates
|
||||
for type synthesis">
|
||||
<link rel="next" href="macros.html" title=" Macros">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Tag Types</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="synthesis.html" title="Class templates for type synthesis">
|
||||
<link rel="next" href="macros.html" title="Macros">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.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="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="synthesis.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types"></a><a href="tag_types.html" title=" Tag Types"> Tag Types</a></h3></div></div></div>
|
||||
<a name="boost_functiontypes.reference.tag_types"></a><a class="link" href="tag_types.html" title="Tag Types"> Tag Types</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="tag_types.html#boost_functiontypes.reference.tag_types.variadic">
|
||||
variadic</a></span></dt>
|
||||
@ -52,144 +52,129 @@
|
||||
null_tag</a></span></dt>
|
||||
<dt><span class="section"><a href="tag_types.html#boost_functiontypes.reference.tag_types.tag"> tag</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.variadic"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.variadic" title="
|
||||
variadic">
|
||||
variadic</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">variadic</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.variadic"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.variadic" title="variadic">
|
||||
variadic</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">variadic</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type takes a variable number of arguments through
|
||||
an ellipsis parameter (such as <code class="literal">printf</code>).
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.non_variadic"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_variadic" title="
|
||||
non_variadic">
|
||||
non_variadic</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_variadic</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.non_variadic"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_variadic" title="non_variadic">
|
||||
non_variadic</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_variadic</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type does not have an ellipsis parameter.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.default_cc"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.default_cc" title="
|
||||
default_cc">
|
||||
default_cc</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">default_cc</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.default_cc"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.default_cc" title="default_cc">
|
||||
default_cc</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">default_cc</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type encodes the default calling convention.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.const_qualified"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.const_qualified" title="
|
||||
const_qualified">
|
||||
const_qualified</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">const_qualified</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.const_qualified"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.const_qualified" title="const_qualified">
|
||||
const_qualified</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">const_qualified</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is const qualified.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.non_const"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_const" title="
|
||||
non_const">
|
||||
non_const</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_const</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.non_const"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_const" title="non_const">
|
||||
non_const</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_const</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is not const qualified.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.volatile_qualified"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_qualified" title="
|
||||
volatile_qualified">
|
||||
volatile_qualified</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">volatile_qualified</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.volatile_qualified"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_qualified" title="volatile_qualified">
|
||||
volatile_qualified</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">volatile_qualified</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is volatile qualified.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.non_volatile"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_volatile" title="
|
||||
non_volatile">
|
||||
non_volatile</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_volatile</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.non_volatile"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_volatile" title="non_volatile">
|
||||
non_volatile</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_volatile</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is not volatile qualified.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.non_cv"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.non_cv" title=" non_cv"> non_cv</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_cv</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.non_cv"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.non_cv" title="non_cv"> non_cv</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">non_cv</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is neither const nor volatile qualified. Equivalent
|
||||
@ -197,19 +182,17 @@
|
||||
but involves fewer template instantiations when evaluated.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.const_non_volatile"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.const_non_volatile" title="
|
||||
const_non_volatile">
|
||||
const_non_volatile</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">const_non_volatile</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.const_non_volatile"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.const_non_volatile" title="const_non_volatile">
|
||||
const_non_volatile</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">const_non_volatile</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is const but not volatile qualified. Equivalent
|
||||
@ -217,19 +200,17 @@
|
||||
but involves fewer template instantiations when evaluated.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.volatile_non_const"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_non_const" title="
|
||||
volatile_non_const">
|
||||
volatile_non_const</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">volatile_non_const</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.volatile_non_const"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.volatile_non_const" title="volatile_non_const">
|
||||
volatile_non_const</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">volatile_non_const</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is volatile but not const qualified. Equivalent
|
||||
@ -237,19 +218,17 @@
|
||||
but involves fewer template instantiations when evaluated.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.cv_qualfied"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.cv_qualfied" title="
|
||||
cv_qualfied">
|
||||
cv_qualfied</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">cv_qualified</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.cv_qualfied"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.cv_qualfied" title="cv_qualfied">
|
||||
cv_qualfied</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">cv_qualified</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States that a function type is both const and volatile qualified. Equivalent
|
||||
@ -257,49 +236,46 @@
|
||||
but involves fewer template instantiations when evaluated.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.null_tag"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="
|
||||
null_tag">
|
||||
null_tag</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">null_tag</span><span class="special">;</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.null_tag"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.null_tag" title="null_tag">
|
||||
null_tag</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">null_tag</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
States nothing.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_functiontypes.reference.tag_types.tag"></a><a href="tag_types.html#boost_functiontypes.reference.tag_types.tag" title=" tag"> tag</a></h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">Tag1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tag2</span><span class="special">,</span>
|
||||
<a name="boost_functiontypes.reference.tag_types.tag"></a><a class="link" href="tag_types.html#boost_functiontypes.reference.tag_types.tag" title="tag"> tag</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">Tag1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tag2</span><span class="special">,</span>
|
||||
<span class="keyword">class</span> <span class="identifier">Tag3</span> <span class="special">=</span> <span class="identifier">null_tag</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tag4</span> <span class="special">=</span> <span class="identifier">null_tag</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Header</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">function_types</span><span class="special">/</span><span class="identifier">property_tags</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<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><p>
|
||||
Property tag
|
||||
</p></dd>
|
||||
Property tag
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="literal">tag<Tag1,Tag2...></code></span></dt>
|
||||
<dd><p>
|
||||
Compound property tag
|
||||
</p></dd>
|
||||
Compound property tag
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>
|
||||
@ -310,11 +286,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="synthesis.html"><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>
|
||||
<a accesskey="p" href="synthesis.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,30 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Use Cases</title>
|
||||
<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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="introduction.html" title=" Introduction">
|
||||
<link rel="next" href="about_tag_types.html" title=" About Tag Types">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Use Cases</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.FunctionTypes 2.5">
|
||||
<link rel="prev" href="introduction.html" title="Introduction">
|
||||
<link rel="next" href="about_tag_types.html" title="About Tag Types">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.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="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="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>
|
||||
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="about_tag_types.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_functiontypes.use_cases"></a><a href="use_cases.html" title=" Use Cases"> Use Cases</a></h2></div></div></div>
|
||||
<a name="boost_functiontypes.use_cases"></a><a class="link" href="use_cases.html" title="Use Cases"> Use Cases</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Generic libraries that accept callable arguments are common in C++. Accepting
|
||||
a callable argument of builin type often involves a lot of repetitive code
|
||||
@ -35,8 +36,7 @@
|
||||
a calling convention with each function's type to allow calls across language
|
||||
or (sub-)system boundaries.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">accept_function</span><span class="special">(</span><span class="identifier">R</span><span class="special">(*</span> <span class="identifier">func</span><span class="special">)());</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">></span>
|
||||
@ -89,8 +89,7 @@
|
||||
Using Boost.FunctionTypes it is possible to write a single function template
|
||||
instead:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">accept_function</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="comment">// ... use Boost.FunctionTypes to analyse F
|
||||
@ -109,8 +108,7 @@
|
||||
in. The code below shows three examples for choosing the <code class="literal">float(float)</code>
|
||||
overload of <code class="literal">std::abs</code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">float</span> <span class="special">(*</span><span class="identifier">ptr_absf</span><span class="special">)(</span><span class="keyword">float</span><span class="special">)</span> <span class="special">=</span> <span class="special">&</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">abs</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">float</span> <span class="special">(*</span><span class="identifier">ptr_absf</span><span class="special">)(</span><span class="keyword">float</span><span class="special">)</span> <span class="special">=</span> <span class="special">&</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">abs</span><span class="special">;</span>
|
||||
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">float</span><span class="special">(*</span><span class="identifier">func</span><span class="special">)(</span><span class="keyword">float</span><span class="special">));</span>
|
||||
@ -128,8 +126,7 @@
|
||||
selection and instantiation of function templates. Given an overloaded function
|
||||
template
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">></span>
|
||||
<span class="identifier">R</span> <span class="identifier">overloaded</span><span class="special">(</span><span class="identifier">T0</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">></span>
|
||||
@ -142,9 +139,7 @@
|
||||
we can pick any of the three overloads and instantiate the template with template
|
||||
arguments from a type sequence in a single expression:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">static_cast</span><span class="special"><</span><a href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="
|
||||
function_pointer">function_pointer</a><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>(&</span> <span class="identifier">overloaded</span><span class="special">)</span>
|
||||
<pre class="programlisting"><span class="keyword">static_cast</span><span class="special"><</span><a class="link" href="reference/synthesis.html#boost_functiontypes.reference.synthesis.function_pointer" title="function_pointer">function_pointer</a><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>(&</span> <span class="identifier">overloaded</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
This technique can be occasionally more flexible than template argument deduction
|
||||
@ -165,11 +160,15 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><small>Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</small></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Tobias Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="introduction.html"><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>
|
||||
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="about_tag_types.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,33 +1,33 @@
|
||||
<html>
|
||||
<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="../../../../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<EFBFBD>1.<2E>Boost.FunctionTypes 2.5">
|
||||
<link rel="next" href="boost_functiontypes/introduction.html" title=" Introduction">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Chapter 1. Boost.FunctionTypes 2.5</title>
|
||||
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. 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%"><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="../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
||||
<div class="chapter" lang="en">
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
|
||||
<div class="chapter">
|
||||
<div class="titlepage"><div>
|
||||
<div><h2 class="title">
|
||||
<a name="boost_functiontypes"></a>Chapter<EFBFBD>1.<2E>Boost.FunctionTypes 2.5</h2></div>
|
||||
<a name="boost_functiontypes"></a>Chapter 1. Boost.FunctionTypes 2.5</h2></div>
|
||||
<div><div class="author"><h3 class="author">
|
||||
<span class="firstname">Tobias</span> <span class="surname">Schwinger</span>
|
||||
</h3></div></div>
|
||||
<div><p class="copyright">Copyright <EFBFBD> 2004 -2007 Tobias Schwinger</p></div>
|
||||
<div><p class="copyright">Copyright © 2004 -2007 Tobias Schwinger</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="id905080"></a><p>
|
||||
<a name="id759690"></a><p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
@ -46,10 +46,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: November 05, 2007 at 18:24:58 +0100</small></p></td>
|
||||
<td align="right"><small></small></td>
|
||||
<td align="left"><p><small>Last revised: , at </small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_functiontypes/introduction.html"><img src="../../../../doc/src/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"
|
||||
|
||||
|
@ -135,7 +135,7 @@ namespace example
|
||||
typedef typename mpl::deref<From>::type arg_type;
|
||||
typedef typename mpl::next<From>::type next_iter_type;
|
||||
|
||||
invoker<Function, next_iter_type, To>::apply
|
||||
interpreter::invoker<Function, next_iter_type, To>::apply
|
||||
( func, parser, fusion::push_back(args, parser.get<arg_type>()) );
|
||||
}
|
||||
};
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <boost/mpl/integral_c.hpp>
|
||||
#include <boost/mpl/vector/vector0.hpp>
|
||||
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x656))
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
|
||||
# include <boost/type_traits/remove_cv.hpp>
|
||||
|
||||
# include <boost/mpl/identity.hpp>
|
||||
@ -81,14 +81,14 @@ namespace boost
|
||||
namespace detail
|
||||
{
|
||||
template<typename T, typename L> struct components_impl;
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x565))
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
|
||||
template<typename T, typename OrigT, typename L> struct components_bcc;
|
||||
#endif
|
||||
}
|
||||
|
||||
template<typename T, typename ClassTypeTransform>
|
||||
struct components
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x565))
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
|
||||
: detail::components_impl<T, ClassTypeTransform>
|
||||
#else
|
||||
: detail::components_bcc<typename remove_cv<T>::type,T,
|
||||
@ -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__, <= 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>
|
||||
|
@ -12,7 +12,8 @@
|
||||
#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)
|
||||
# include <boost/type_traits/remove_cv.hpp>
|
||||
# include <boost/type_traits/remove_pointer.hpp>
|
||||
# include <boost/type_traits/remove_reference.hpp>
|
||||
@ -22,10 +23,8 @@
|
||||
|
||||
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))
|
||||
|
||||
template<typename T> struct cv_traits
|
||||
{ typedef non_cv tag; typedef T type; };
|
||||
@ -109,12 +108,13 @@ struct cv_code
|
||||
{
|
||||
static T _t;
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value =
|
||||
sizeof(ft::detail::switch_cv(ft::detail::ref_to_ptr(_t) ) ));
|
||||
sizeof(::boost::function_types::detail::switch_cv(
|
||||
::boost::function_types::detail::ref_to_ptr(_t) ) ));
|
||||
};
|
||||
|
||||
template<typename T> struct cv_traits
|
||||
{
|
||||
typedef typename ft::detail::cv_tag_impl<
|
||||
typedef typename boost::function_types::detail::cv_tag_impl<
|
||||
::boost::function_types::detail::cv_code<T>::value >::type
|
||||
tag;
|
||||
|
||||
|
@ -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
|
||||
|
@ -42,7 +42,7 @@
|
||||
# define BOOST_FT_cc_name implicit_cc
|
||||
# define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
# define BOOST_FT_cond callable_builtin
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
# undef BOOST_FT_cc
|
||||
@ -54,7 +54,7 @@ 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_PP_EXPAND _()( <BOOST_FT_cc_file> )
|
||||
BOOST_PP_EXPAND(#) include BOOST_FT_cc_file
|
||||
#undef _
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cond
|
||||
BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name
|
||||
@ -85,7 +85,7 @@ BOOST_PP_EXPAND(#) endif
|
||||
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND(<BOOST_FT_cc_file>)
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
|
||||
# undef BOOST_FT_cond
|
||||
@ -121,7 +121,7 @@ BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v
|
||||
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
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -27,7 +27,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_CDECL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -39,7 +39,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_STDCALL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -51,7 +51,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_PASCAL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -63,7 +63,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_FASTCALL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -75,7 +75,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_CLRCALL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -87,7 +87,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_THISCALL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -99,7 +99,7 @@
|
||||
# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT_THISCALL
|
||||
# if BOOST_FT_cond
|
||||
# define BOOST_FT_config_valid 1
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# endif
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
@ -110,7 +110,7 @@
|
||||
# define BOOST_FT_cc_name implicit_cc
|
||||
# define BOOST_FT_cc BOOST_PP_EMPTY
|
||||
# define BOOST_FT_cond 0x00000001
|
||||
# include BOOST_PP_EXPAND ( <BOOST_FT_cc_file> )
|
||||
# include BOOST_FT_cc_file
|
||||
# undef BOOST_FT_cond
|
||||
# undef BOOST_FT_cc_name
|
||||
# undef BOOST_FT_cc
|
||||
|
@ -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( \
|
||||
|
@ -30,8 +30,8 @@ namespace detail
|
||||
# include BOOST_PP_ASSIGN_SLOT(1)
|
||||
|
||||
BOOST_STATIC_CONSTANT(bits_t, value = (
|
||||
::boost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc
|
||||
| ::boost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1)
|
||||
(::boost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc)
|
||||
| (::boost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1))
|
||||
));
|
||||
};
|
||||
|
||||
|
@ -15,8 +15,8 @@ namespace detail
|
||||
template<class Tag, class RefTag> struct selector_bits
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bits_t, value = (
|
||||
::boost::function_types::detail::bits<Tag> ::value & 0x00008000
|
||||
| ::boost::function_types::detail::bits<RefTag> ::value & 802
|
||||
(::boost::function_types::detail::bits<Tag> ::value & 0x00008000)
|
||||
| (::boost::function_types::detail::bits<RefTag> ::value & 802)
|
||||
));
|
||||
};
|
||||
template<bits_t SelectorBits> struct default_cc_tag;
|
||||
|
@ -82,7 +82,7 @@ namespace detail {
|
||||
);
|
||||
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_bits =
|
||||
LHS_bits & ~RHS_mask | RHS_bits
|
||||
(LHS_bits & ~RHS_mask) | RHS_bits
|
||||
);
|
||||
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_mask =
|
||||
|
@ -53,7 +53,7 @@ BOOST_STATIC_CONSTANT(bool, match =
|
||||
RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff))
|
||||
);
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_bits =
|
||||
LHS_bits & ~RHS_mask | RHS_bits
|
||||
(LHS_bits & ~RHS_mask) | RHS_bits
|
||||
);
|
||||
BOOST_STATIC_CONSTANT(bits_t, combined_mask =
|
||||
LHS_mask | RHS_mask
|
||||
|
@ -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
|
||||
|
||||
|
@ -16,12 +16,19 @@ namespace ft = boost::function_types;
|
||||
|
||||
class C;
|
||||
typedef C func();
|
||||
typedef C const c_func();
|
||||
typedef C (*func_ptr)();
|
||||
typedef C const (*c_func_ptr)();
|
||||
typedef C (&func_ref)();
|
||||
typedef C const (&c_func_ref)();
|
||||
typedef C (C::*mem_func_ptr)();
|
||||
typedef C (C::*c_mem_func_ptr)() const;
|
||||
typedef C (C::*v_mem_func_ptr)() volatile;
|
||||
typedef C (C::*cv_mem_func_ptr)() const volatile;
|
||||
typedef C const (C::*c_mem_func_ptr)();
|
||||
typedef C (C::*mem_func_ptr_c)() const;
|
||||
typedef C const (C::*c_mem_func_ptr_c)() const;
|
||||
typedef C (C::*mem_func_ptr_v)() volatile;
|
||||
typedef C const (C::*c_mem_func_ptr_v)() volatile;
|
||||
typedef C (C::*mem_func_ptr_cv)() const volatile;
|
||||
typedef C const (C::*c_mem_func_ptr_cv)() const volatile;
|
||||
typedef int C::* mem_ptr;
|
||||
typedef int const C::* c_mem_ptr;
|
||||
|
||||
@ -29,28 +36,56 @@ BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<func>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<c_func>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<func_ptr>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<c_func_ptr>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<func_ref>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<c_func_ref>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<mem_func_ptr>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<c_mem_func_ptr>::type,C>
|
||||
boost::is_same<ft::result_type<c_mem_func_ptr>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<v_mem_func_ptr>::type,C>
|
||||
boost::is_same<ft::result_type<mem_func_ptr_c>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<cv_mem_func_ptr>::type,C>
|
||||
boost::is_same<ft::result_type<c_mem_func_ptr_c>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<mem_func_ptr_v>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<c_mem_func_ptr_v>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<mem_func_ptr_cv>::type,C>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
boost::is_same<ft::result_type<c_mem_func_ptr_cv>::type,C const>
|
||||
));
|
||||
|
||||
BOOST_MPL_ASSERT((
|
||||
|
Reference in New Issue
Block a user