1 <?xml version=
"1.0" encoding=
"utf-8" ?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
6 <meta name=
"generator" content=
"Docutils 0.7: http://docutils.sourceforge.net/" />
7 <title>The MPL Reference Manual: Placeholder Expression
</title>
8 <link rel=
"stylesheet" href=
"../style.css" type=
"text/css" />
10 <body class=
"docframe refmanual">
11 <table class=
"header"><tr class=
"header"><td class=
"header-group navigation-bar"><span class=
"navigation-group"><a href=
"./lambda-expression.html" class=
"navigation-link">Prev
</a> <a href=
"./tag-dispatched-metafunction.html" class=
"navigation-link">Next
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./lambda-expression.html" class=
"navigation-link">Back
</a> <a href=
"./tag-dispatched-metafunction.html" class=
"navigation-link">Along
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./metafunctions-concepts.html" class=
"navigation-link">Up
</a> <a href=
"../refmanual.html" class=
"navigation-link">Home
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./refmanual_toc.html" class=
"navigation-link">Full TOC
</a></span></td>
12 <td class=
"header-group page-location"><a href=
"../refmanual.html" class=
"navigation-link">Front Page
</a> /
<a href=
"./metafunctions.html" class=
"navigation-link">Metafunctions
</a> /
<a href=
"./metafunctions-concepts.html" class=
"navigation-link">Concepts
</a> /
<a href=
"./placeholder-expression.html" class=
"navigation-link">Placeholder Expression
</a></td>
13 </tr></table><div class=
"header-separator"></div>
14 <div class=
"section" id=
"placeholder-expression">
15 <h1><a class=
"toc-backref" href=
"./metafunctions-concepts.html#id1515">Placeholder Expression
</a></h1>
16 <div class=
"section" id=
"id835">
17 <h3><a class=
"subsection-title" href=
"#description" name=
"description">Description
</a></h3>
18 <p>A
<a class=
"reference internal" href=
"./placeholder-expression.html">Placeholder Expression
</a> is a type that is either a
<a class=
"reference internal" href=
"./placeholders.html#placeholder">placeholder
</a> or a class
19 template specialization with at least one argument that itself is a
20 <a class=
"reference internal" href=
"./placeholder-expression.html">Placeholder Expression
</a>.
</p>
22 <div class=
"section" id=
"id836">
23 <h3><a class=
"subsection-title" href=
"#expression-requirements" name=
"expression-requirements">Expression requirements
</a></h3>
24 <p>If
<tt class=
"literal"><span class=
"pre">X
</span></tt> is a class template, and
<tt class=
"literal"><span class=
"pre">a1
</span></tt>,...
<tt class=
"literal"><span class=
"pre">an
</span></tt> are arbitrary types, then
25 <tt class=
"literal"><span class=
"pre">X
<a1,...,an
></span></tt> is a
<a class=
"reference internal" href=
"./placeholder-expression.html">Placeholder Expression
</a> if and only if all of the following
28 <li>At least one of the template arguments
<tt class=
"literal"><span class=
"pre">a1
</span></tt>,...
<tt class=
"literal"><span class=
"pre">an
</span></tt> is a
<a class=
"reference internal" href=
"./placeholders.html#placeholder">placeholder
</a>
29 or a
<a class=
"reference internal" href=
"./placeholder-expression.html">Placeholder Expression
</a>.
</li>
30 <li>All of
<tt class=
"literal"><span class=
"pre">X
</span></tt>'s template parameters, including the default ones, are types.
</li>
31 <li>The number of
<tt class=
"literal"><span class=
"pre">X
</span></tt>'s template parameters, including the default ones, is
32 less or equal to the value of
<tt class=
"literal"><span class=
"pre"><a href=
"./limit-metafunction-arity.html" class=
"identifier">BOOST_MPL_LIMIT_METAFUNCTION_ARITY
</a></span></tt>
33 <a class=
"reference internal" href=
"./configuration.html">configuration macro
</a>.
</li>
36 <div class=
"section" id=
"id838">
37 <h3><a class=
"subsection-title" href=
"#models" name=
"models">Models
</a></h3>
39 <li><a class=
"reference internal" href=
"./placeholders.html">_1
</a></li>
40 <li><tt class=
"literal"><span class=
"pre"><a href=
"./plus.html" class=
"identifier">plus
</a><_,
</span> <span class=
"pre"><a href=
"./int.html" class=
"identifier">int_
</a><2></span> <span class=
"pre">></span></tt></li>
41 <li><tt class=
"literal"><span class=
"pre"><a href=
"./if.html" class=
"identifier">if_
</a><</span> <span class=
"pre"><a href=
"./less.html" class=
"identifier">less
</a><<a href=
"./placeholders.html" class=
"identifier">_1
</a>,
</span> <span class=
"pre"><a href=
"./int.html" class=
"identifier">int_
</a><7></span> <span class=
"pre">>,
</span> <span class=
"pre"><a href=
"./plus.html" class=
"identifier">plus
</a><<a href=
"./placeholders.html" class=
"identifier">_1
</a>,
<a href=
"./placeholders.html" class=
"identifier">_2
</a>>,
</span> <span class=
"pre"><a href=
"./placeholders.html" class=
"identifier">_1
</a></span> <span class=
"pre">></span></tt></li>
44 <div class=
"section" id=
"id839">
45 <h3><a class=
"subsection-title" href=
"#see-also" name=
"see-also">See also
</a></h3>
46 <p><a class=
"reference internal" href=
"./lambda-expression.html">Lambda Expression
</a>,
<a class=
"reference internal" href=
"./placeholders.html">Placeholders
</a>,
<a class=
"reference internal" href=
"./metafunctions.html">Metafunctions
</a>,
<a class=
"reference internal" href=
"./apply.html">apply
</a>,
<a class=
"reference internal" href=
"./lambda.html">lambda
</a></p>
47 <!-- Metafunctions/Concepts//Tag Dispatched Metafunction |50 -->
51 <div class=
"footer-separator"></div>
52 <table class=
"footer"><tr class=
"footer"><td class=
"header-group navigation-bar"><span class=
"navigation-group"><a href=
"./lambda-expression.html" class=
"navigation-link">Prev
</a> <a href=
"./tag-dispatched-metafunction.html" class=
"navigation-link">Next
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./lambda-expression.html" class=
"navigation-link">Back
</a> <a href=
"./tag-dispatched-metafunction.html" class=
"navigation-link">Along
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./metafunctions-concepts.html" class=
"navigation-link">Up
</a> <a href=
"../refmanual.html" class=
"navigation-link">Home
</a></span><span class=
"navigation-group-separator"> |
</span><span class=
"navigation-group"><a href=
"./refmanual_toc.html" class=
"navigation-link">Full TOC
</a></span></td>
53 <td><div class=
"copyright-footer"><div class=
"copyright">Copyright ©
2001-
2009 Aleksey Gurtovoy and David Abrahams
</div>
54 Distributed under the Boost Software License, Version
1.0. (See accompanying
55 file LICENSE_1_0.txt or copy at
<a class=
"reference external" href=
"http://www.boost.org/LICENSE_1_0.txt" target=
"_top">http://www.boost.org/LICENSE_1_0.txt
</a>)
</div></td></tr></table></body>