summaryrefslogtreecommitdiff
path: root/doc/html/metaparse
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:05:34 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:06:28 +0900
commit34bd32e225e2a8a94104489b31c42e5801cc1f4a (patch)
treed021b579a0c190354819974e1eaf0baa54b551f3 /doc/html/metaparse
parentf763a99a501650eff2c60288aa6f10ef916d769e (diff)
downloadboost-34bd32e225e2a8a94104489b31c42e5801cc1f4a.tar.gz
boost-34bd32e225e2a8a94104489b31c42e5801cc1f4a.tar.bz2
boost-34bd32e225e2a8a94104489b31c42e5801cc1f4a.zip
Imported Upstream version 1.63.0upstream/1.63.0
Change-Id: Iac85556a04b7e58d63ba636dedb0986e3555714a Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/metaparse')
-rw-r--r--doc/html/metaparse/getting_started_with_boost_metap.html13
-rw-r--r--doc/html/metaparse/performance.html231
-rw-r--r--doc/html/metaparse/preface.html2
-rw-r--r--doc/html/metaparse/reference.html215
-rw-r--r--doc/html/metaparse/related_publications_and_blogs.html4
-rw-r--r--doc/html/metaparse/the_design_of_the_library.html24
-rw-r--r--doc/html/metaparse/user_manual.html2
-rw-r--r--doc/html/metaparse/versioning.html2
8 files changed, 312 insertions, 181 deletions
diff --git a/doc/html/metaparse/getting_started_with_boost_metap.html b/doc/html/metaparse/getting_started_with_boost_metap.html
index d9a9da8893..1069921544 100644
--- a/doc/html/metaparse/getting_started_with_boost_metap.html
+++ b/doc/html/metaparse/getting_started_with_boost_metap.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="preface.html" title="Preface">
<link rel="next" href="user_manual.html" title="User manual">
</head>
@@ -86,10 +86,9 @@
text into a type. These types can later be processed by further template
metaprograms. While you are working on your parsers, you'll probably want
to look at the result of parsing a test input. This tutorial assumes that
- you can use <a href="https://github.com/sabel83/metashell" target="_top">Metashell</a>.
- Since the <a href="http://abel.web.elte.hu/shell/metashell.html" target="_top">online
- demo</a> makes the Boost headers available, you can use that in the
- tutorial as well.
+ you can use <a href="http://metashell.org" target="_top">Metashell</a>. Since
+ the <a href="http://metashell.org/about/demo" target="_top">online demo</a> makes
+ the Boost headers available, you can use that in the tutorial as well.
</p>
<p>
If you install Metashell on your computer, make sure that you have the
@@ -611,8 +610,8 @@
<p>
What you get might look strange to you. It is a <code class="computeroutput"><span class="identifier">vector</span></code>
from [Boost.MPL]( http://boost.org/libs/mpl). What you can see in the shell
- is the way this vector is represented. Metashell offers [pretty printing](
- https://github.com/sabel83/metashell#data-structures-of-boostmpl) for <a href="http://boost.org/libs/mpl" target="_top">Boost.MPL</a> containers:
+ is the way this vector is represented. Metashell offers [pretty printing](metashell.org/manual/getting_started#data-structures-of-boostmpl)
+ for <a href="http://boost.org/libs/mpl" target="_top">Boost.MPL</a> containers:
</p>
<pre class="programlisting"><span class="special">&gt;</span> <span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">metashell</span><span class="special">/</span><span class="identifier">formatter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
diff --git a/doc/html/metaparse/performance.html b/doc/html/metaparse/performance.html
index 5d267a3bb3..c519dd30fd 100644
--- a/doc/html/metaparse/performance.html
+++ b/doc/html/metaparse/performance.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="versioning.html" title="Versioning">
<link rel="next" href="the_design_of_the_library.html" title="The design of the library">
</head>
@@ -27,20 +27,88 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="metaparse.performance"></a><a class="link" href="performance.html" title="Performance">Performance</a>
</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st">Benchmarks
+ of BOOST_METAPARSE_STRING</a></span></dt>
+<dt><span class="section"><a href="performance.html#metaparse.performance.measuring_printf">Measuring printf</a></span></dt>
+<dt><span class="section"><a href="performance.html#metaparse.performance.further_measurements">Further measurements</a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="metaparse.performance.benchmarks_of_boost_metaparse_st"></a><a name="BOOST_METAPARSE_STRING_benchmark"></a><a class="link" href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st" title="Benchmarks of BOOST_METAPARSE_STRING">Benchmarks
+ of BOOST_METAPARSE_STRING</a>
+</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_string_length">Increasing
+ string length</a></span></dt>
+<dt><span class="section"><a href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_number_of_strings">Increasing
+ number of strings</a></span></dt>
+<dt><span class="section"><a href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_string_length_limit">Increasing
+ string length limit</a></span></dt>
+</dl></div>
+<p>
+ Measurements related to the performance of the <a class="link" href="reference.html#BOOST_METAPARSE_STRING"><code class="computeroutput"><span class="identifier">BOOST_METAPARSE_STRING</span></code></a> macro.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_string_length"></a><a class="link" href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_string_length" title="Increasing string length">Increasing
+ string length</a>
+</h4></div></div></div>
<p>
- Parsers work at compile-time, thus their performance affects compilation speed.
- This section shows measurements of compilation time using Metaparse. The measurements
- were done on a Linux laptop with an 1.6 GHz Atom processor and 1 GB memory.
- The measurements were done using GCC 4.6.1 with <code class="computeroutput"><span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">c</span><span class="special">++</span><span class="number">0</span><span class="identifier">x</span></code>
- and no optimisation. Compilation speed was measured using the <code class="computeroutput"><span class="identifier">time</span></code> utility.
- </p>
+ 128 strings with increasing length. Measured on a Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
+ host with 16 GB memory. Compiler used: gcc 4.8.5.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/metaparse/length128_gcc_4.8.5.png" width="100%"></span>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_number_of_strings"></a><a class="link" href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_number_of_strings" title="Increasing number of strings">Increasing
+ number of strings</a>
+</h4></div></div></div>
<p>
- To measure a non-trivial parser, the <code class="computeroutput"><span class="identifier">printf</span></code>
- example program were used for measurements. Here is a list of the <code class="computeroutput"><span class="identifier">printf</span></code> calls and their compilation speed
- (<code class="computeroutput"><span class="identifier">user</span></code> output of <code class="computeroutput"><span class="identifier">time</span></code>):
- </p>
+ Increasing number of strings with 64 length. Measured on a Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
+ host with 16 GB memory. Compiler used: gcc 4.8.5.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/metaparse/number_gcc_4.8.5.png" width="100%"></span>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_string_length_limit"></a><a class="link" href="performance.html#metaparse.performance.benchmarks_of_boost_metaparse_st.increasing_string_length_limit" title="Increasing string length limit">Increasing
+ string length limit</a>
+</h4></div></div></div>
+<p>
+ 100 one character long strings with increasing maximum length. Measured
+ on a Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty host with
+ 16 GB memory. Compiler used: gcc 4.8.5.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/metaparse/max_length_gcc_4.8.5.png" width="100%"></span>
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="metaparse.performance.measuring_printf"></a><a class="link" href="performance.html#metaparse.performance.measuring_printf" title="Measuring printf">Measuring printf</a>
+</h3></div></div></div>
+<p>
+ Parsers work at compile-time, thus their performance affects compilation
+ speed. This section shows measurements of compilation time using Metaparse.
+ The measurements were done on a Linux laptop with an 1.6 GHz Atom processor
+ and 1 GB memory. The measurements were done using GCC 4.6.1 with <code class="computeroutput"><span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">c</span><span class="special">++</span><span class="number">0</span><span class="identifier">x</span></code> and no optimisation. Compilation speed
+ was measured using the <code class="computeroutput"><span class="identifier">time</span></code>
+ utility.
+ </p>
+<p>
+ To measure a non-trivial parser, the <code class="computeroutput"><span class="identifier">printf</span></code>
+ example program were used for measurements. Here is a list of the <code class="computeroutput"><span class="identifier">printf</span></code> calls and their compilation speed
+ (<code class="computeroutput"><span class="identifier">user</span></code> output of <code class="computeroutput"><span class="identifier">time</span></code>):
+ </p>
<div class="table">
-<a name="metaparse.performance.printf_compilation_speed"></a><p class="title"><b>Table&#160;22.1.&#160;Printf compilation speed</b></p>
+<a name="metaparse.performance.measuring_printf.printf_compilation_speed"></a><p class="title"><b>Table&#160;24.1.&#160;Printf compilation speed</b></p>
<div class="table-contents"><table class="table" summary="Printf compilation speed">
<colgroup>
<col>
@@ -48,103 +116,110 @@
</colgroup>
<thead><tr>
<th>
- <p>
- type-safe <code class="computeroutput"><span class="identifier">printf</span></code>
- call
- </p>
- </th>
+ <p>
+ type-safe <code class="computeroutput"><span class="identifier">printf</span></code>
+ call
+ </p>
+ </th>
<th>
- <p>
- Compilation speed (s)
- </p>
- </th>
+ <p>
+ Compilation speed (s)
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- No compile-time parsing (just the includes and an empty <code class="computeroutput"><span class="identifier">main</span></code>)
- </p>
- </td>
+ <p>
+ No compile-time parsing (just the includes and an empty <code class="computeroutput"><span class="identifier">main</span></code>)
+ </p>
+ </td>
<td>
- <p>
- 3.51
- </p>
- </td>
+ <p>
+ 3.51
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">)</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">)</span></code>
+ </p>
+ </td>
<td>
- <p>
- 4.95
- </p>
- </td>
+ <p>
+ 4.95
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">)</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">)</span></code>
+ </p>
+ </td>
<td>
- <p>
- 5.26
- </p>
- </td>
+ <p>
+ 5.26
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">)</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">)</span></code>
+ </p>
+ </td>
<td>
- <p>
- 5.50
- </p>
- </td>
+ <p>
+ 5.50
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">,</span> <span class="number">4.0</span><span class="special">)</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">,</span> <span class="number">4.0</span><span class="special">)</span></code>
+ </p>
+ </td>
<td>
- <p>
- 5.82
- </p>
- </td>
+ <p>
+ 5.82
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f%f%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">,</span> <span class="number">4.0</span><span class="special">,</span> <span class="number">5.0</span><span class="special">)</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">printf</span><span class="special">&lt;</span><span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"%f%f%f%f%f"</span><span class="special">)&gt;(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">,</span> <span class="number">4.0</span><span class="special">,</span> <span class="number">5.0</span><span class="special">)</span></code>
+ </p>
+ </td>
<td>
- <p>
- 6.07
- </p>
- </td>
+ <p>
+ 6.07
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
</div>
-<br class="table-break"><p>
- Further measurements can be found in the following paper:
- </p>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="metaparse.performance.further_measurements"></a><a class="link" href="performance.html#metaparse.performance.further_measurements" title="Further measurements">Further measurements</a>
+</h3></div></div></div>
+<p>
+ Further measurements can be found in the following paper:
+ </p>
<p>
- Zolt&#225;n Porkol&#225;b, &#193;bel Sinkovics: <br> <span class="bold"><strong>Domain-specific
- Language Integration with Compile-time Parser Generator Library</strong></span>
- <br> In Eelco Visser, Jaakko J&#228;rvi, editors, Proceedings of the ninth international
- conference on Generative programming and component engineering (GPCE 2010).
- ACM, October 2010, pp. 137-146.
- </p>
+ Zolt&#225;n Porkol&#225;b, &#193;bel Sinkovics: <br> <span class="bold"><strong>Domain-specific
+ Language Integration with Compile-time Parser Generator Library</strong></span>
+ <br> In Eelco Visser, Jaakko J&#228;rvi, editors, Proceedings of the ninth
+ international conference on Generative programming and component engineering
+ (GPCE 2010). ACM, October 2010, pp. 137-146.
+ </p>
+</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
diff --git a/doc/html/metaparse/preface.html b/doc/html/metaparse/preface.html
index bf38fcd8b4..6c0d0e4dbc 100644
--- a/doc/html/metaparse/preface.html
+++ b/doc/html/metaparse/preface.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="related_publications_and_blogs.html" title="Related publications and blogs">
<link rel="next" href="getting_started_with_boost_metap.html" title="Getting started with Boost.Metaparse">
</head>
diff --git a/doc/html/metaparse/reference.html b/doc/html/metaparse/reference.html
index 0e6f16a98e..a620ce23e2 100644
--- a/doc/html/metaparse/reference.html
+++ b/doc/html/metaparse/reference.html
@@ -6,9 +6,9 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="the_design_of_the_library.html" title="The design of the library">
-<link rel="next" href="../move.html" title="Chapter&#160;23.&#160;Boost.Move">
+<link rel="next" href="../move.html" title="Chapter&#160;25.&#160;Boost.Move">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -763,7 +763,7 @@
value</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.accept.arguments"></a><p class="title"><b>Table&#160;22.2.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.accept.arguments"></a><p class="title"><b>Table&#160;24.2.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -925,7 +925,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.accept_when.arguments"></a><p class="title"><b>Table&#160;22.3.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.accept_when.arguments"></a><p class="title"><b>Table&#160;24.3.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1162,7 +1162,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.always_c.arguments"></a><p class="title"><b>Table&#160;22.4.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.always_c.arguments"></a><p class="title"><b>Table&#160;24.4.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1287,7 +1287,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.always.arguments"></a><p class="title"><b>Table&#160;22.5.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.always.arguments"></a><p class="title"><b>Table&#160;24.5.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1413,7 +1413,7 @@
This is a macro.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.boost_metaparse_define_error.arguments"></a><p class="title"><b>Table&#160;22.6.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.boost_metaparse_define_error.arguments"></a><p class="title"><b>Table&#160;24.6.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1545,7 +1545,7 @@
This is a macro.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.boost_metaparse_string.arguments"></a><p class="title"><b>Table&#160;22.7.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.boost_metaparse_string.arguments"></a><p class="title"><b>Table&#160;24.7.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1597,6 +1597,21 @@
header defines the <code class="computeroutput"><span class="identifier">BOOST_METAPARSE_V1_CONFIG_NO_BOOST_METAPARSE_STRING</span></code>
macro. Defining this macro before including the header disables the <code class="computeroutput"><span class="identifier">BOOST_METAPARSE_STRING</span></code> macro.
</p>
+<p>
+ The upper limit for the maximum length, which can be used is 2048. The
+ implementation of the <code class="computeroutput"><span class="identifier">BOOST_METAPARSE_STRING</span></code>
+ macro is generated using <code class="computeroutput"><span class="identifier">tools</span><span class="special">/</span><span class="identifier">string_headers</span><span class="special">.</span><span class="identifier">py</span></code> and
+ can be regenerated to extend this upper limit. Note that for Oracle Developer
+ Studio the string length limit is 127.
+ </p>
+<p>
+ Metaparse supports changing the string length limit within a compilation
+ unit. To change the length limit, redefine the <code class="computeroutput"><span class="identifier">BOOST_METAPARSE_LIMIT_STRING_SIZE</span></code>
+ macro.
+ </p>
+<p>
+ You can find benchmarks of this macro <a class="link" href="performance.html#BOOST_METAPARSE_STRING_benchmark">here</a>.
+ </p>
<h2>
<a name="metaparse.reference.alphabetical.boost_metaparse_string.h2"></a>
<span class="phrase"><a name="metaparse.reference.alphabetical.boost_metaparse_string.header"></a></span><a class="link" href="reference.html#metaparse.reference.alphabetical.boost_metaparse_string.header">Header</a>
@@ -1622,7 +1637,8 @@
<a name="metaparse.reference.alphabetical.boost_metaparse_string.h4"></a>
<span class="phrase"><a name="metaparse.reference.alphabetical.boost_metaparse_string.example"></a></span><a class="link" href="reference.html#metaparse.reference.alphabetical.boost_metaparse_string.example">Example</a>
</h2>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">metaparse</span><span class="special">/</span><span class="identifier">string</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_METAPARSE_LIMIT_STRING_SIZE</span> <span class="number">8</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">metaparse</span><span class="special">/</span><span class="identifier">string</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">type_traits</span><span class="special">&gt;</span>
@@ -1638,6 +1654,20 @@
<span class="special">&gt;::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span>
<span class="string">"The type generated by the macro should be identical to the hand-crafted one."</span>
<span class="special">);</span>
+
+<span class="preprocessor">#undef</span> <span class="identifier">BOOST_METAPARSE_LIMIT_STRING_SIZE</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_METAPARSE_LIMIT_STRING_SIZE</span> <span class="number">32</span>
+
+<span class="keyword">static_assert</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span>
+ <span class="identifier">string</span><span class="special">&lt;</span>
+ <span class="char">'A'</span><span class="special">,</span> <span class="char">' '</span><span class="special">,</span> <span class="char">'l'</span><span class="special">,</span> <span class="char">'o'</span><span class="special">,</span> <span class="char">'n'</span><span class="special">,</span> <span class="char">'g'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span>
+ <span class="char">' '</span><span class="special">,</span> <span class="char">'s'</span><span class="special">,</span> <span class="char">'t'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'i'</span><span class="special">,</span> <span class="char">'n'</span><span class="special">,</span> <span class="char">'g'</span>
+ <span class="special">&gt;,</span>
+ <span class="identifier">BOOST_METAPARSE_STRING</span><span class="special">(</span><span class="string">"A longer string"</span><span class="special">)</span>
+ <span class="special">&gt;::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span>
+ <span class="string">"The type generated by the macro should be identical to the hand-crafted one."</span>
+<span class="special">);</span>
</pre>
</div>
<div class="section">
@@ -1726,7 +1756,7 @@
This is a <a class="link" href="reference.html#metafunction">template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.build_parser.arguments"></a><p class="title"><b>Table&#160;22.8.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.build_parser.arguments"></a><p class="title"><b>Table&#160;24.8.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1783,7 +1813,7 @@
<span class="special">};</span>
</pre>
<div class="table">
-<a name="metaparse.reference.alphabetical.build_parser.arguments0"></a><p class="title"><b>Table&#160;22.9.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.build_parser.arguments0"></a><p class="title"><b>Table&#160;24.9.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -1869,7 +1899,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.change_error_message.arguments"></a><p class="title"><b>Table&#160;22.10.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.change_error_message.arguments"></a><p class="title"><b>Table&#160;24.10.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -2060,7 +2090,7 @@
This is a template class.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.debug_parsing_error.arguments"></a><p class="title"><b>Table&#160;22.11.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.debug_parsing_error.arguments"></a><p class="title"><b>Table&#160;24.11.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -2299,7 +2329,7 @@
value as argument.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.digit_to_int_c.arguments"></a><p class="title"><b>Table&#160;22.12.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.digit_to_int_c.arguments"></a><p class="title"><b>Table&#160;24.12.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -2409,7 +2439,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.digit_to_int.arguments"></a><p class="title"><b>Table&#160;22.13.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.digit_to_int.arguments"></a><p class="title"><b>Table&#160;24.13.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -2593,7 +2623,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.empty.arguments"></a><p class="title"><b>Table&#160;22.14.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.empty.arguments"></a><p class="title"><b>Table&#160;24.14.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -2733,7 +2763,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.entire_input.arguments"></a><p class="title"><b>Table&#160;22.15.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.entire_input.arguments"></a><p class="title"><b>Table&#160;24.15.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -2866,7 +2896,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.except.arguments"></a><p class="title"><b>Table&#160;22.16.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.except.arguments"></a><p class="title"><b>Table&#160;24.16.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3053,7 +3083,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.fail_at_first_char_expected.arguments"></a><p class="title"><b>Table&#160;22.17.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.fail_at_first_char_expected.arguments"></a><p class="title"><b>Table&#160;24.17.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3195,7 +3225,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.fail.arguments"></a><p class="title"><b>Table&#160;22.18.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.fail.arguments"></a><p class="title"><b>Table&#160;24.18.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3330,7 +3360,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.first_of.arguments"></a><p class="title"><b>Table&#160;22.19.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.first_of.arguments"></a><p class="title"><b>Table&#160;24.19.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3440,7 +3470,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldl1.arguments"></a><p class="title"><b>Table&#160;22.20.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldl1.arguments"></a><p class="title"><b>Table&#160;24.20.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3586,7 +3616,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldl_reject_incomplete.arguments"></a><p class="title"><b>Table&#160;22.21.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldl_reject_incomplete.arguments"></a><p class="title"><b>Table&#160;24.21.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3755,7 +3785,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldl_reject_incomplete1.arguments"></a><p class="title"><b>Table&#160;22.22.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldl_reject_incomplete1.arguments"></a><p class="title"><b>Table&#160;24.22.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -3917,7 +3947,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldl_reject_incomplete_start_wi.arguments"></a><p class="title"><b>Table&#160;22.23.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldl_reject_incomplete_start_wi.arguments"></a><p class="title"><b>Table&#160;24.23.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -4093,7 +4123,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldl_start_with_parser.arguments"></a><p class="title"><b>Table&#160;22.24.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldl_start_with_parser.arguments"></a><p class="title"><b>Table&#160;24.24.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -4272,7 +4302,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldl.arguments"></a><p class="title"><b>Table&#160;22.25.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldl.arguments"></a><p class="title"><b>Table&#160;24.25.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -4448,7 +4478,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldr1.arguments"></a><p class="title"><b>Table&#160;22.26.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldr1.arguments"></a><p class="title"><b>Table&#160;24.26.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -4594,7 +4624,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldr_reject_incomplete.arguments"></a><p class="title"><b>Table&#160;22.27.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldr_reject_incomplete.arguments"></a><p class="title"><b>Table&#160;24.27.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -4769,7 +4799,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldr_reject_incomplete1.arguments"></a><p class="title"><b>Table&#160;22.28.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldr_reject_incomplete1.arguments"></a><p class="title"><b>Table&#160;24.28.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -4931,7 +4961,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldr_start_with_parser.arguments"></a><p class="title"><b>Table&#160;22.29.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldr_start_with_parser.arguments"></a><p class="title"><b>Table&#160;24.29.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5120,7 +5150,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.foldr.arguments"></a><p class="title"><b>Table&#160;22.30.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.foldr.arguments"></a><p class="title"><b>Table&#160;24.30.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5301,7 +5331,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_col.arguments"></a><p class="title"><b>Table&#160;22.31.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_col.arguments"></a><p class="title"><b>Table&#160;24.31.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5413,7 +5443,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_line.arguments"></a><p class="title"><b>Table&#160;22.32.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_line.arguments"></a><p class="title"><b>Table&#160;24.32.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5525,7 +5555,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_message.arguments"></a><p class="title"><b>Table&#160;22.33.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_message.arguments"></a><p class="title"><b>Table&#160;24.33.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5619,7 +5649,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_position.arguments"></a><p class="title"><b>Table&#160;22.34.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_position.arguments"></a><p class="title"><b>Table&#160;24.34.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5726,7 +5756,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_prev_char.arguments"></a><p class="title"><b>Table&#160;22.35.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_prev_char.arguments"></a><p class="title"><b>Table&#160;24.35.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5840,7 +5870,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_remaining.arguments"></a><p class="title"><b>Table&#160;22.36.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_remaining.arguments"></a><p class="title"><b>Table&#160;24.36.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -5946,7 +5976,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.get_result.arguments"></a><p class="title"><b>Table&#160;22.37.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.get_result.arguments"></a><p class="title"><b>Table&#160;24.37.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -6136,6 +6166,11 @@
the <code class="computeroutput"><span class="identifier">grammar</span></code> template. This
is optional, the default value is <code class="computeroutput"><span class="identifier">S</span></code>.
</p>
+<p>
+ Note that the current implementation "inlines" the referenced
+ symbols while parsing the grammar and recursion is not supported because
+ of this.
+ </p>
<h2>
<a name="metaparse.reference.alphabetical.grammar.h2"></a>
<span class="phrase"><a name="metaparse.reference.alphabetical.grammar.header"></a></span><a class="link" href="reference.html#metaparse.reference.alphabetical.grammar.header">Header</a>
@@ -6218,7 +6253,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.if.arguments"></a><p class="title"><b>Table&#160;22.38.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.if.arguments"></a><p class="title"><b>Table&#160;24.38.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -6357,7 +6392,7 @@
This is a <a class="link" href="reference.html#parsing_error_message">parsing error message</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.index_out_of_range.arguments"></a><p class="title"><b>Table&#160;22.39.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.index_out_of_range.arguments"></a><p class="title"><b>Table&#160;24.39.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -6456,7 +6491,7 @@
This is a <a class="link" href="reference.html#metafunction_class">template metafunction class</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.in_range_c.arguments"></a><p class="title"><b>Table&#160;22.40.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.in_range_c.arguments"></a><p class="title"><b>Table&#160;24.40.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -6614,7 +6649,7 @@
<a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.in_range.arguments"></a><p class="title"><b>Table&#160;22.41.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.in_range.arguments"></a><p class="title"><b>Table&#160;24.41.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -6861,7 +6896,7 @@
value as argument.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.int_to_digit_c.arguments"></a><p class="title"><b>Table&#160;22.42.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.int_to_digit_c.arguments"></a><p class="title"><b>Table&#160;24.42.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -6965,7 +7000,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.int_to_digit.arguments"></a><p class="title"><b>Table&#160;22.43.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.int_to_digit.arguments"></a><p class="title"><b>Table&#160;24.43.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7076,7 +7111,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_digit.arguments"></a><p class="title"><b>Table&#160;22.44.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_digit.arguments"></a><p class="title"><b>Table&#160;24.44.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7192,7 +7227,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_error.arguments"></a><p class="title"><b>Table&#160;22.45.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_error.arguments"></a><p class="title"><b>Table&#160;24.45.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7319,7 +7354,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_lcase_letter.arguments"></a><p class="title"><b>Table&#160;22.46.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_lcase_letter.arguments"></a><p class="title"><b>Table&#160;24.46.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7438,7 +7473,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_letter.arguments"></a><p class="title"><b>Table&#160;22.47.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_letter.arguments"></a><p class="title"><b>Table&#160;24.47.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7563,7 +7598,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_ucase_letter.arguments"></a><p class="title"><b>Table&#160;22.48.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_ucase_letter.arguments"></a><p class="title"><b>Table&#160;24.48.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7683,7 +7718,7 @@
value as argument.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_whitespace_c.arguments"></a><p class="title"><b>Table&#160;22.49.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_whitespace_c.arguments"></a><p class="title"><b>Table&#160;24.49.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7796,7 +7831,7 @@
that supports <a class="link" href="reference.html#currying">currying</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.is_whitespace.arguments"></a><p class="title"><b>Table&#160;22.50.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.is_whitespace.arguments"></a><p class="title"><b>Table&#160;24.50.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -7907,7 +7942,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.iterate_c.arguments"></a><p class="title"><b>Table&#160;22.51.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.iterate_c.arguments"></a><p class="title"><b>Table&#160;24.51.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8057,7 +8092,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.iterate.arguments"></a><p class="title"><b>Table&#160;22.52.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.iterate.arguments"></a><p class="title"><b>Table&#160;24.52.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8214,7 +8249,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.keyword.arguments"></a><p class="title"><b>Table&#160;22.53.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.keyword.arguments"></a><p class="title"><b>Table&#160;24.53.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8337,7 +8372,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.last_of.arguments"></a><p class="title"><b>Table&#160;22.54.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.last_of.arguments"></a><p class="title"><b>Table&#160;24.54.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8621,7 +8656,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.lit_c.arguments"></a><p class="title"><b>Table&#160;22.55.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.lit_c.arguments"></a><p class="title"><b>Table&#160;24.55.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8728,7 +8763,7 @@
This is a <a class="link" href="reference.html#parsing_error_message">parsing error message</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.literal_expected.arguments"></a><p class="title"><b>Table&#160;22.56.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.literal_expected.arguments"></a><p class="title"><b>Table&#160;24.56.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8791,7 +8826,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.lit.arguments"></a><p class="title"><b>Table&#160;22.57.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.lit.arguments"></a><p class="title"><b>Table&#160;24.57.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -8908,7 +8943,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.look_ahead.arguments"></a><p class="title"><b>Table&#160;22.58.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.look_ahead.arguments"></a><p class="title"><b>Table&#160;24.58.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -9159,7 +9194,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.middle_of.arguments"></a><p class="title"><b>Table&#160;22.59.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.middle_of.arguments"></a><p class="title"><b>Table&#160;24.59.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -9307,7 +9342,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.next_char.arguments"></a><p class="title"><b>Table&#160;22.60.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.next_char.arguments"></a><p class="title"><b>Table&#160;24.60.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -9483,7 +9518,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.next_line.arguments"></a><p class="title"><b>Table&#160;22.61.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.next_line.arguments"></a><p class="title"><b>Table&#160;24.61.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -9689,7 +9724,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.nth_of_c.arguments"></a><p class="title"><b>Table&#160;22.62.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.nth_of_c.arguments"></a><p class="title"><b>Table&#160;24.62.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -9831,7 +9866,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.nth_of.arguments"></a><p class="title"><b>Table&#160;22.63.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.nth_of.arguments"></a><p class="title"><b>Table&#160;24.63.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10006,7 +10041,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.one_char_except_c.arguments"></a><p class="title"><b>Table&#160;22.64.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.one_char_except_c.arguments"></a><p class="title"><b>Table&#160;24.64.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10132,7 +10167,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.one_char_except.arguments"></a><p class="title"><b>Table&#160;22.65.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.one_char_except.arguments"></a><p class="title"><b>Table&#160;24.65.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10355,7 +10390,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.one_of_c.arguments"></a><p class="title"><b>Table&#160;22.66.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.one_of_c.arguments"></a><p class="title"><b>Table&#160;24.66.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10464,7 +10499,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.one_of.arguments"></a><p class="title"><b>Table&#160;22.67.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.one_of.arguments"></a><p class="title"><b>Table&#160;24.67.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10590,7 +10625,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.optional.arguments"></a><p class="title"><b>Table&#160;22.68.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.optional.arguments"></a><p class="title"><b>Table&#160;24.68.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10846,7 +10881,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.range_c.arguments"></a><p class="title"><b>Table&#160;22.69.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.range_c.arguments"></a><p class="title"><b>Table&#160;24.69.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -10970,7 +11005,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.range.arguments"></a><p class="title"><b>Table&#160;22.70.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.range.arguments"></a><p class="title"><b>Table&#160;24.70.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11095,7 +11130,7 @@
value</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.reject.arguments"></a><p class="title"><b>Table&#160;22.71.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.reject.arguments"></a><p class="title"><b>Table&#160;24.71.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11213,7 +11248,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.repeated1.arguments"></a><p class="title"><b>Table&#160;22.72.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.repeated1.arguments"></a><p class="title"><b>Table&#160;24.72.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11333,7 +11368,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.repeated_reject_incomplete1.arguments"></a><p class="title"><b>Table&#160;22.73.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.repeated_reject_incomplete1.arguments"></a><p class="title"><b>Table&#160;24.73.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11463,7 +11498,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.repeated_reject_incomplete.arguments"></a><p class="title"><b>Table&#160;22.74.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.repeated_reject_incomplete.arguments"></a><p class="title"><b>Table&#160;24.74.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11601,7 +11636,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.repeated_one_of1.arguments"></a><p class="title"><b>Table&#160;22.75.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.repeated_one_of1.arguments"></a><p class="title"><b>Table&#160;24.75.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11730,7 +11765,7 @@
<span class="keyword">struct</span> <span class="identifier">repeated_one_of1</span><span class="special">;</span>
</pre>
<div class="table">
-<a name="metaparse.reference.alphabetical.repeated_one_of.arguments"></a><p class="title"><b>Table&#160;22.76.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.repeated_one_of.arguments"></a><p class="title"><b>Table&#160;24.76.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -11867,7 +11902,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.repeated.arguments"></a><p class="title"><b>Table&#160;22.77.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.repeated.arguments"></a><p class="title"><b>Table&#160;24.77.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -12005,7 +12040,7 @@
This is a <a class="link" href="reference.html#parser">parser</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.return.arguments"></a><p class="title"><b>Table&#160;22.78.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.return.arguments"></a><p class="title"><b>Table&#160;24.78.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -12123,7 +12158,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.sequence.arguments"></a><p class="title"><b>Table&#160;22.79.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.sequence.arguments"></a><p class="title"><b>Table&#160;24.79.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -12260,7 +12295,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.sequence_apply.arguments"></a><p class="title"><b>Table&#160;22.80.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.sequence_apply.arguments"></a><p class="title"><b>Table&#160;24.80.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -12407,7 +12442,7 @@
value</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.source_position.arguments"></a><p class="title"><b>Table&#160;22.81.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.source_position.arguments"></a><p class="title"><b>Table&#160;24.81.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -12761,7 +12796,7 @@
value</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.string.arguments"></a><p class="title"><b>Table&#160;22.82.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.string.arguments"></a><p class="title"><b>Table&#160;24.82.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -12895,7 +12930,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.token.arguments"></a><p class="title"><b>Table&#160;22.83.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.token.arguments"></a><p class="title"><b>Table&#160;24.83.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -13017,7 +13052,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.transform_error_message.arguments"></a><p class="title"><b>Table&#160;22.84.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.transform_error_message.arguments"></a><p class="title"><b>Table&#160;24.84.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -13176,7 +13211,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.transform_error.arguments"></a><p class="title"><b>Table&#160;22.85.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.transform_error.arguments"></a><p class="title"><b>Table&#160;24.85.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -13339,7 +13374,7 @@
This is a <a class="link" href="reference.html#parser_combinator">parser combinator</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.transform.arguments"></a><p class="title"><b>Table&#160;22.86.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.transform.arguments"></a><p class="title"><b>Table&#160;24.86.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -13540,7 +13575,7 @@
This is a <a class="link" href="reference.html#lazy_metafunction">lazy template metafunction</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.unless_error.arguments"></a><p class="title"><b>Table&#160;22.87.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.unless_error.arguments"></a><p class="title"><b>Table&#160;24.87.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
@@ -13680,7 +13715,7 @@
This is a <a class="link" href="reference.html#parsing_error_message">parsing error message</a>.
</p>
<div class="table">
-<a name="metaparse.reference.alphabetical.unpaired.arguments"></a><p class="title"><b>Table&#160;22.88.&#160;Arguments</b></p>
+<a name="metaparse.reference.alphabetical.unpaired.arguments"></a><p class="title"><b>Table&#160;24.88.&#160;Arguments</b></p>
<div class="table-contents"><table class="table" summary="Arguments">
<colgroup>
<col>
diff --git a/doc/html/metaparse/related_publications_and_blogs.html b/doc/html/metaparse/related_publications_and_blogs.html
index 957fa938af..b34689cf6d 100644
--- a/doc/html/metaparse/related_publications_and_blogs.html
+++ b/doc/html/metaparse/related_publications_and_blogs.html
@@ -6,8 +6,8 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
-<link rel="prev" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
+<link rel="prev" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="next" href="preface.html" title="Preface">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
diff --git a/doc/html/metaparse/the_design_of_the_library.html b/doc/html/metaparse/the_design_of_the_library.html
index da1ce2e305..96f7952ada 100644
--- a/doc/html/metaparse/the_design_of_the_library.html
+++ b/doc/html/metaparse/the_design_of_the_library.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="performance.html" title="Performance">
<link rel="next" href="reference.html" title="Reference">
</head>
@@ -99,6 +99,28 @@
intermediate containers, that are (usually) processed sequentially after
that.
</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <span class="bold"><strong>Why external code generator for <code class="computeroutput"><span class="identifier">BOOST_METAPARSE_STRING</span></code>?</strong></span>
+ </li></ul></div>
+<p>
+ To be able to support longer strings. It generates code using macros to reduce
+ the size of the header files (the reducion is multiples of MBs).
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <span class="bold"><strong>Why defining a custom version of Boost.Preprocessor
+ macros?</strong></span>
+ </li></ul></div>
+<p>
+ There are two reasons for the library defining its own set of preprocessor
+ metaprogramming macros: to have control over the upper limit of iteration
+ steps and to be able to clean the macros up once they have done their job
+ (and avoid polluting the macros of the users).
+ </p>
+<p>
+ Note that these macros live in the <code class="computeroutput"><span class="identifier">impl</span></code>
+ directory, which means that they are an implementation detail of the library
+ and should be used internally only.
+ </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
diff --git a/doc/html/metaparse/user_manual.html b/doc/html/metaparse/user_manual.html
index db41ffbeea..ae8f0b6a91 100644
--- a/doc/html/metaparse/user_manual.html
+++ b/doc/html/metaparse/user_manual.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="getting_started_with_boost_metap.html" title="Getting started with Boost.Metaparse">
<link rel="next" href="versioning.html" title="Versioning">
</head>
diff --git a/doc/html/metaparse/versioning.html b/doc/html/metaparse/versioning.html
index f87612c7e9..5a87b22feb 100644
--- a/doc/html/metaparse/versioning.html
+++ b/doc/html/metaparse/versioning.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../metaparse.html" title="Chapter&#160;22.&#160;Boost.Metaparse">
+<link rel="up" href="../metaparse.html" title="Chapter&#160;24.&#160;Boost.Metaparse">
<link rel="prev" href="user_manual.html" title="User manual">
<link rel="next" href="performance.html" title="Performance">
</head>