|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r55375 - in trunk/libs/spirit: . doc doc/html doc/html/spirit doc/html/spirit/abstracts doc/html/spirit/karma/performance_measurements/numeric_performance doc/html/spirit/karma/quick_reference doc/html/spirit/karma/reference doc/html/spirit/karma/reference/auxiliary doc/html/spirit/karma/reference/generator_concepts doc/html/spirit/karma/reference/operator doc/html/spirit/karma/tutorials doc/html/spirit/lex doc/html/spirit/lex/abstracts doc/html/spirit/lex/abstracts/lexer_primitives doc/html/spirit/lex/reference doc/html/spirit/lex/reference/concepts doc/html/spirit/lex/tutorials doc/html/spirit/qi/quick_reference doc/html/spirit/qi/reference doc/html/spirit/qi/reference/auxiliary doc/html/spirit/qi/reference/directive doc/html/spirit/qi/reference/parser_concepts doc/html/spirit/qi/reference/string doc/html/spirit/qi/tutorials doc/html/spirit/support doc/karma doc/qi example/karma repository repository/doc/html
From: hartmut.kaiser_at_[hidden]
Date: 2009-08-02 18:51:53
Author: hkaiser
Date: 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
New Revision: 55375
URL: http://svn.boost.org/trac/boost/changeset/55375
Log:
Spirit: finished documenting the karma operator module
Added:
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html (contents, props changed)
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html (contents, props changed)
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html (contents, props changed)
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html (contents, props changed)
Properties modified:
trunk/libs/spirit/ (props changed)
trunk/libs/spirit/repository/ (props changed)
trunk/libs/spirit/repository/doc/html/ (props changed)
Text files modified:
trunk/libs/spirit/doc/html/index.html | 4
trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 16
trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 18
trunk/libs/spirit/doc/html/spirit/acknowledgments.html | 2
trunk/libs/spirit/doc/html/spirit/faq.html | 8
trunk/libs/spirit/doc/html/spirit/introduction.html | 12
trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html | 2
trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html | 2
trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html | 2
trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 17
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 8
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html | 18 +
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html | 10
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html | 12
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html | 10
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html | 18 +
trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html | 2
trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 9
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html | 20 +
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html | 18
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html | 50 ++--
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html | 18
trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html | 10
trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html | 2
trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html | 2
trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html | 10
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html | 6
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html | 10
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html | 6
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 4
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 4
trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 6
trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html | 6
trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html | 8
trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 10
trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 8
trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 8
trunk/libs/spirit/doc/html/spirit/preface.html | 18
trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html | 14
trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html | 4
trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html | 14
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html | 12
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html | 12
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html | 10
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html | 10
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html | 12
trunk/libs/spirit/doc/html/spirit/qi/reference/string.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html | 14
trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html | 16
trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html | 14
trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html | 22 +-
trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html | 6
trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html | 2
trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html | 8
trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html | 2
trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html | 10
trunk/libs/spirit/doc/html/spirit/support/multi_pass.html | 28 +-
trunk/libs/spirit/doc/html/spirit/what_s_new.html | 8
trunk/libs/spirit/doc/karma/concepts.qbk | 9
trunk/libs/spirit/doc/karma/operator.qbk | 401 +++++++++++++++++++++++++++++++++++++--
trunk/libs/spirit/doc/karma/quick_reference.qbk | 10
trunk/libs/spirit/doc/qi/quick_reference.qbk | 16
trunk/libs/spirit/doc/spirit2.qbk | 3
trunk/libs/spirit/example/karma/reference.cpp | 133 ++++++++++++
70 files changed, 866 insertions(+), 368 deletions(-)
Modified: trunk/libs/spirit/doc/html/index.html
==============================================================================
--- trunk/libs/spirit/doc/html/index.html (original)
+++ trunk/libs/spirit/doc/html/index.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -34,7 +34,7 @@
<div><p class="copyright">Copyright © 2001-2009 Joel
de Guzman, Hartmut Kaiser</p></div>
<div><div class="legalnotice" title="Legal Notice">
-<a name="id1076164"></a><p>
+<a name="id1020458"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
</p>
@@ -191,7 +191,7 @@
</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: August 02, 2009 at 18:57:38 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 02, 2009 at 22:45:54 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
Modified: trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -29,9 +29,9 @@
</h3></div></div></div>
<p>
Parsing Expression Grammars (PEG)
- <sup>[<a name="id1085281" href="#ftn.id1085281" class="footnote">5</a>]</sup>
+ <sup>[<a name="id1029576" href="#ftn.id1029576" class="footnote">5</a>]</sup>
are a derivative of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1085293" href="#ftn.id1085293" class="footnote">6</a>]</sup>
+ <sup>[<a name="id1029588" href="#ftn.id1029588" class="footnote">6</a>]</sup>
with a different interpretation, designed to represent a recursive descent
parser. A PEG can be directly represented as a recursive-descent parser.
</p>
@@ -42,7 +42,7 @@
Abstract Syntax Tree) for each PEG grammar.
</p>
<a name="spirit.abstracts.parsing_expression_grammar.sequences"></a><h5>
-<a name="id1085314"></a>
+<a name="id1029608"></a>
<a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.sequences">Sequences</a>
</h5>
<p>
@@ -83,7 +83,7 @@
</p></td></tr>
</table></div>
<a name="spirit.abstracts.parsing_expression_grammar.alternatives"></a><h5>
-<a name="id1085431"></a>
+<a name="id1029726"></a>
<a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.alternatives">Alternatives</a>
</h5>
<p>
@@ -126,7 +126,7 @@
about this $$$).
</p>
<a name="spirit.abstracts.parsing_expression_grammar.loops"></a><h5>
-<a name="id1085570"></a>
+<a name="id1029865"></a>
<a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.loops">Loops</a>
</h5>
<p>
@@ -189,7 +189,7 @@
We will see more of these other mechanisms shortly.
</p>
<a name="spirit.abstracts.parsing_expression_grammar.difference"></a><h5>
-<a name="id1085711"></a>
+<a name="id1030005"></a>
<a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.difference">Difference</a>
</h5>
<p>
@@ -205,11 +205,11 @@
</p>
<div class="footnotes">
<br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1085281" href="#id1085281" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1029576" href="#id1029576" class="para">5</a>] </sup>
Bryan Ford: Parsing Expression Grammars: A Recognition-Based Syntactic
Foundation, http://pdos.csail.mit.edu/~baford/packrat/popl04/
</p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id1085293" href="#id1085293" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1029588" href="#id1029588" class="para">6</a>] </sup>
Richard E. Pattis: EBNF: A Notation to Describe Syntax, http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
</p></div>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -28,20 +28,20 @@
</h3></div></div></div>
<p>
In the next section, we will deal with Parsing Expression Grammars (PEG)
- <sup>[<a name="id1084854" href="#ftn.id1084854" class="footnote">2</a>]</sup>
+ <sup>[<a name="id1029148" href="#ftn.id1029148" class="footnote">2</a>]</sup>
, a variant of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1084866" href="#ftn.id1084866" class="footnote">3</a>]</sup>
+ <sup>[<a name="id1029160" href="#ftn.id1029160" class="footnote">3</a>]</sup>
with a different interpretation. It is easier to understand PEG using Syntax
Diagrams. Syntax diagrams represent a grammar graphically. It was used extensibly
by Niklaus Wirth
- <sup>[<a name="id1084878" href="#ftn.id1084878" class="footnote">4</a>]</sup>
+ <sup>[<a name="id1029172" href="#ftn.id1029172" class="footnote">4</a>]</sup>
in the "Pascal User Manual". Syntax Diagrams are easily understandable
with programmers due to its similarity to flow charts. The isomorphism of
the diagrams and functions make it ideal for representing Recursive Descent
parsers which are essentially mutually recursive functions.
</p>
<a name="spirit.abstracts.syntax_diagram.elements"></a><h5>
-<a name="id1084890"></a>
+<a name="id1029184"></a>
<a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.elements">Elements</a>
</h5>
<p>
@@ -85,7 +85,7 @@
</p>
</blockquote></div>
<a name="spirit.abstracts.syntax_diagram.constructs"></a><h5>
-<a name="id1084990"></a>
+<a name="id1029284"></a>
<a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.constructs">Constructs</a>
</h5>
<p>
@@ -156,7 +156,7 @@
This behavior is quite obvious with syntax diagrams as they resemble flow-charts.
</p>
<a name="spirit.abstracts.syntax_diagram.predicates"></a><h5>
-<a name="id1085150"></a>
+<a name="id1029445"></a>
<a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.predicates">Predicates</a>
</h5>
<p>
@@ -211,14 +211,14 @@
</p>
<div class="footnotes">
<br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1084854" href="#id1084854" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1029148" href="#id1029148" class="para">2</a>] </sup>
Bryan Ford: Parsing Expression Grammars: A Recognition-Based Syntactic
Foundation, http://pdos.csail.mit.edu/~baford/packrat/popl04/
</p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id1084866" href="#id1084866" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1029160" href="#id1029160" class="para">3</a>] </sup>
Richard E. Pattis: EBNF: A Notation to Describe Syntax, http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
</p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id1084878" href="#id1084878" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1029172" href="#id1029172" class="para">4</a>] </sup>
Niklaus Wirth: The Programming Language Pascal. (July 1973)
</p></div>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/acknowledgments.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/acknowledgments.html (original)
+++ trunk/libs/spirit/doc/html/spirit/acknowledgments.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -47,7 +47,7 @@
<span class="bold"><strong>FIXME</strong></span>: Add more people
</p>
<a name="spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation"></a><h4>
-<a name="id1216399"></a>
+<a name="id1168926"></a>
<a class="link" href="acknowledgments.html#spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation">Acknowledgements
from the Spirit V1 <span class="emphasis"><em>classic</em></span> Documentation</a>
</h4>
Modified: trunk/libs/spirit/doc/html/spirit/faq.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/faq.html (original)
+++ trunk/libs/spirit/doc/html/spirit/faq.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.faq"></a><a class="link" href="faq.html" title="Spirit FAQ"> Spirit FAQ</a>
</h2></div></div></div>
<a name="spirit.faq.i_m_getting_multiple_symbol_definition_errors_while_using_visual_c____anything_i_could_do_about_that_"></a><h4>
-<a name="id1214879"></a>
+<a name="id1167406"></a>
<a class="link" href="faq.html#spirit.faq.i_m_getting_multiple_symbol_definition_errors_while_using_visual_c____anything_i_could_do_about_that_">I'm
getting multiple symbol definition errors while using Visual C++. Anything
I could do about that?</a>
@@ -64,7 +64,7 @@
static_assert.
</p>
<a name="spirit.faq.i_m_very_confused_about_the_header_hell_in_my_boost_spirit_directory__what_s_all_this_about_"></a><h4>
-<a name="id1215049"></a>
+<a name="id1167576"></a>
<a class="link" href="faq.html#spirit.faq.i_m_very_confused_about_the_header_hell_in_my_boost_spirit_directory__what_s_all_this_about_">I'm
very confused about the header hell in my boost/spirit directory. What's all
this about?</a>
@@ -172,7 +172,7 @@
are available.
</p>
<a name="spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_"></a><h4>
-<a name="id1215559"></a>
+<a name="id1168086"></a>
<a class="link" href="faq.html#spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_">Why
doesn't my symbol table work in a <code class="computeroutput"><span class="identifier">no_case</span></code>
directive?</a>
@@ -184,7 +184,7 @@
Entries containing one or more uppercase characters will not match any input.
</p>
<a name="spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_"></a><h4>
-<a name="id1215641"></a>
+<a name="id1168168"></a>
<a class="link" href="faq.html#spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_">I'm
getting a compilation error mentioning <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code>
and/or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function4</span></code>. What does this mean?</a>
Modified: trunk/libs/spirit/doc/html/spirit/introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/introduction.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -30,7 +30,7 @@
Boost Spirit is an object-oriented, recursive-descent parser and output generation
library for C++. It allows you to write grammars and format descriptions using
a format similar to Extended Backus Naur Form (EBNF)
- <sup>[<a name="id1081030" href="#ftn.id1081030" class="footnote">1</a>]</sup>
+ <sup>[<a name="id1025324" href="#ftn.id1025324" class="footnote">1</a>]</sup>
directly in C++. These inline grammar specifications can mix freely with other
C++ code and, thanks to the generative power of C++ templates, are immediately
executable. In retrospect, conventional compiler-compilers or parser-generators
@@ -134,7 +134,7 @@
<p><br class="figure-break">
</p>
<a name="spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_"></a><h4>
-<a name="id1081244"></a>
+<a name="id1025538"></a>
<a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_">A
Quick Overview of Parsing with <span class="emphasis"><em>Spirit.Qi</em></span></a>
</h4>
@@ -224,7 +224,7 @@
<code class="computeroutput"><span class="special">;</span></code>.
</p>
<a name="spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_"></a><h4>
-<a name="id1082200"></a>
+<a name="id1026494"></a>
<a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_">A
Quick Overview of Output Generation with <span class="emphasis"><em>Spirit.Karma</em></span></a>
</h4>
@@ -257,7 +257,7 @@
of the same <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>:
</p>
<div class="table">
-<a name="id1082541"></a><p class="title"><b>Table 2. Different output formats for `std::vector<int>`</b></p>
+<a name="id1026835"></a><p class="title"><b>Table 2. Different output formats for `std::vector<int>`</b></p>
<div class="table-contents"><table class="table" summary="Different output formats for `std::vector<int>`">
<colgroup>
<col>
@@ -376,7 +376,7 @@
next table gives some related examples.
</p>
<div class="table">
-<a name="id1084018"></a><p class="title"><b>Table 3. Different data types usable with the output format
+<a name="id1028312"></a><p class="title"><b>Table 3. Different data types usable with the output format
`*(int_ << eol)`</b></p>
<div class="table-contents"><table class="table" summary="Different data types usable with the output format
`*(int_ << eol)`">
@@ -450,7 +450,7 @@
</div>
<br class="table-break"><div class="footnotes">
<br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1081030" href="#id1081030" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1025324" href="#id1025324" class="para">1</a>] </sup>
<a href="http://www.cl.cam.ac.uk/%7Emgk25/iso-14977.pdf" target="_top">ISO-EBNF</a>
</p></div>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -135,7 +135,7 @@
<a class="link" href="double_performance.html#spirit.karma.double_performance" title="Figure 4. Performance comparison for a single double">figure</a>.
</p>
<div class="table">
-<a name="id1176826"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
+<a name="id1130030"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
times in [s], 1000000 iterations)</b></p>
<div class="table-contents"><table class="table" summary="Performance comparison for a single double (all
times in [s], 1000000 iterations)">
Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -155,7 +155,7 @@
<a class="link" href="format_performance.html#spirit.karma.format_performance" title="Figure 5. Performance comparison for a sequence of several items">figure</a>.
</p>
<div class="table">
-<a name="id1178344"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
+<a name="id1131560"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
items (all times in [s], 1000000 iterations)</b></p>
<div class="table-contents"><table class="table" summary="Performance comparison for a sequence of several
items (all times in [s], 1000000 iterations)">
Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -125,7 +125,7 @@
<a class="link" href="int_performance.html#spirit.karma.int_performance" title="Figure 3. Performance comparison for a single int">figure</a>.
</p>
<div class="table">
-<a name="id1175763"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
+<a name="id1128973"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
times in [s], 10000000 iterations)</b></p>
<div class="table-contents"><table class="table" summary="Performance comparison for a single int (all
times in [s], 10000000 iterations)">
Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -41,7 +41,7 @@
<span class="identifier">b</span></code> will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span></code>.
</p>
<div class="table">
-<a name="id1153533"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
+<a name="id1097827"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
<div class="table-contents"><table class="table" summary="Spirit.Karma compound generator attribute types">
<colgroup>
<col>
@@ -124,8 +124,8 @@
<tr>
<td>
<p>
- <a class="link" href="../reference/operator/kleene.html" title="Kleene Star (unary operator*())">kleene (unary
- <code class="computeroutput"><span class="special">*</span></code>)</a>
+ <a class="link" href="../reference/operator/plus.html" title="Plus (unary operator+())">plus (unary
+ <code class="computeroutput"><span class="special">+</span></code>)</a>
</p>
</td>
<td>
@@ -141,7 +141,7 @@
<tr>
<td>
<p>
- list (<code class="computeroutput"><span class="special">%</span></code>)
+ <a class="link" href="../reference/operator/list.html" title="Lists (operator%())">list (<code class="computeroutput"><span class="special">%</span></code>)</a>
</p>
</td>
<td>
@@ -173,7 +173,8 @@
<tr>
<td>
<p>
- optional (unary <code class="computeroutput"><span class="special">-</span></code>)
+ <a class="link" href="../reference/operator/optional.html" title="Optional (unary operator-())">optional
+ (unary <code class="computeroutput"><span class="special">-</span></code>)</a>
</p>
</td>
<td>
@@ -189,7 +190,8 @@
<tr>
<td>
<p>
- and predicate (<code class="computeroutput"><span class="special">&</span></code>)
+ <a class="link" href="../reference/operator/and_predicate.html" title="And Predicate (unary operator&())">and
+ predicate (unary <code class="computeroutput"><span class="special">&</span></code>)</a>
</p>
</td>
<td>
@@ -203,7 +205,8 @@
<tr>
<td>
<p>
- not predicate (<code class="computeroutput"><span class="special">!</span></code>)
+ <a class="link" href="../reference/operator/not_predicate.html" title="Not Predicate (unary operator!())">not
+ predicate (unary <code class="computeroutput"><span class="special">!</span></code>)</a>
</p>
</td>
<td>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -6,7 +6,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
<link rel="home" href="../../../index.html" title="Spirit 2.1">
<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="operator/plus.html" title="Plus (unary operator+())">
+<link rel="prev" href="operator/not_predicate.html" title="Not Predicate (unary operator!())">
<link rel="next" href="auxiliary/eol.html" title="eol">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="operator/plus.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="auxiliary/eol.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="operator/not_predicate.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="auxiliary/eol.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" title="Auxiliary">
<div class="titlepage"><div><div><h4 class="title">
@@ -37,7 +37,7 @@
and <code class="computeroutput"><span class="identifier">eps</span></code>, <code class="computeroutput"><span class="identifier">lazy</span></code> generators.
</p>
<a name="spirit.karma.reference.auxiliary.module_header"></a><h6>
-<a name="id1171610"></a>
+<a name="id1124137"></a>
<a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary.hpp>
@@ -55,7 +55,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="operator/plus.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="auxiliary/eol.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="operator/not_predicate.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="auxiliary/eol.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.auxiliary.eol"></a><a class="link" href="eol.html" title="eol">eol</a>
</h5></div></div></div>
<a name="spirit.karma.reference.auxiliary.eol.description"></a><h6>
-<a name="id1171686"></a>
+<a name="id1124213"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
details).
</p>
<a name="spirit.karma.reference.auxiliary.eol.header"></a><h6>
-<a name="id1171743"></a>
+<a name="id1124271"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary/eol.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.auxiliary.eol.model_of"></a><h6>
-<a name="id1171818"></a>
+<a name="id1124345"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.auxiliary.eol.expression_semantics"></a><h6>
-<a name="id1171856"></a>
+<a name="id1124383"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.expression_semantics">Expression
Semantics</a>
</h6>
@@ -100,7 +100,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eol.attributes"></a><h6>
-<a name="id1171945"></a>
+<a name="id1124472"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -134,7 +134,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eol.complexity"></a><h6>
-<a name="id1172023"></a>
+<a name="id1124550"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -151,7 +151,7 @@
output.
</p>
<a name="spirit.karma.reference.auxiliary.eol.example"></a><h6>
-<a name="id1172050"></a>
+<a name="id1124578"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.example">Example</a>
</h6>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -33,7 +33,7 @@
or to insert semantic actions into the generation process.
</p>
<a name="spirit.karma.reference.auxiliary.eps.description"></a><h6>
-<a name="id1172085"></a>
+<a name="id1124613"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.description">Description</a>
</h6>
<p>
@@ -45,7 +45,7 @@
while using the return value as the criteria to succeed.
</p>
<a name="spirit.karma.reference.auxiliary.eps.header"></a><h6>
-<a name="id1172185"></a>
+<a name="id1124712"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary/eps.hpp>
@@ -55,7 +55,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.auxiliary.eps.model_of"></a><h6>
-<a name="id1172259"></a>
+<a name="id1124787"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -82,7 +82,7 @@
</dl>
</div>
<a name="spirit.karma.reference.auxiliary.eps.expression_semantics"></a><h6>
-<a name="id1172346"></a>
+<a name="id1124873"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.expression_semantics">Expression
Semantics</a>
</h6>
@@ -149,7 +149,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eps.attributes"></a><h6>
-<a name="id1172533"></a>
+<a name="id1125060"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -209,7 +209,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eps.complexity"></a><h6>
-<a name="id1172695"></a>
+<a name="id1125222"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -225,7 +225,7 @@
The complexity is constant as no output is generated.
</p>
<a name="spirit.karma.reference.auxiliary.eps.example"></a><h6>
-<a name="id1172722"></a>
+<a name="id1125250"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.example">Example</a>
</h6>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.auxiliary.lazy"></a><a class="link" href="lazy.html" title="lazy">lazy</a>
</h5></div></div></div>
<a name="spirit.karma.reference.auxiliary.lazy.description"></a><h6>
-<a name="id1172746"></a>
+<a name="id1125274"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
its return value as the actual generator to produce the output.
</p>
<a name="spirit.karma.reference.auxiliary.lazy.header"></a><h6>
-<a name="id1172770"></a>
+<a name="id1125298"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary/lazy.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.auxiliary.lazy.model_of"></a><h6>
-<a name="id1172845"></a>
+<a name="id1125372"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.model_of">Model
of</a>
</h6>
@@ -84,7 +84,7 @@
second argument. This is done for uniformity with Semantic Actions).
</p>
<a name="spirit.karma.reference.auxiliary.lazy.expression_semantics"></a><h6>
-<a name="id1174630"></a>
+<a name="id1125509"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.expression_semantics">Expression
Semantics</a>
</h6>
@@ -147,7 +147,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.lazy.attributes"></a><h6>
-<a name="id1174782"></a>
+<a name="id1127992"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -199,7 +199,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.lazy.complexity"></a><h6>
-<a name="id1174931"></a>
+<a name="id1128141"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.complexity">Complexity</a>
</h6>
<p>
@@ -208,7 +208,7 @@
<code class="computeroutput"><span class="identifier">fg</span></code>.
</p>
<a name="spirit.karma.reference.auxiliary.lazy.example"></a><h6>
-<a name="id1174962"></a>
+<a name="id1128172"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
</h6>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.binarygenerator"></a><a class="link" href="binarygenerator.html" title="BinaryGenerator">BinaryGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.description"></a><h6>
-<a name="id1160619"></a>
+<a name="id1104962"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.description">Description</a>
</h6>
<p>
@@ -39,7 +39,7 @@
Design Pattern.
</p>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.refinement_of"></a><h6>
-<a name="id1160666"></a>
+<a name="id1105008"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.refinement_of">Refinement
of</a>
</h6>
@@ -66,7 +66,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions"></a><h6>
-<a name="id1160743"></a>
+<a name="id1105085"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -135,7 +135,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.type_expressions"></a><h6>
-<a name="id1160905"></a>
+<a name="id1105247"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -200,7 +200,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.invariants"></a><h6>
-<a name="id1161104"></a>
+<a name="id1105446"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.invariants">Invariants</a>
</h6>
<p>
@@ -216,11 +216,15 @@
</li>
</ul></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.models"></a><h6>
-<a name="id1161241"></a>
+<a name="id1105583"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.models">Models</a>
</h6>
<p>
- <span class="bold"><strong>FIXME</strong></span> Add links to models of BinaryGenerator
+ The following generators conform to this model: <a class="link" href="../operator/list.html" title="Lists (operator%())">list
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>.
+ </p>
+<p>
+ <span class="bold"><strong>FIXME</strong></span> Add more links to models of BinaryGenerator
concept
</p>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.generator"></a><a class="link" href="generator.html" title="Generator">Generator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.generator.description"></a><h6>
-<a name="id1157260"></a>
+<a name="id1101573"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.description">Description</a>
</h6>
<p>
@@ -81,7 +81,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.generator.valid_expressions"></a><h6>
-<a name="id1157514"></a>
+<a name="id1101828"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -164,7 +164,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.generator.type_expressions"></a><h6>
-<a name="id1159413"></a>
+<a name="id1103727"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.type_expressions">Type
Expressions</a>
</h6>
@@ -231,7 +231,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.generator.postcondition"></a><h6>
-<a name="id1159678"></a>
+<a name="id1103992"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.postcondition">Postcondition</a>
</h6>
<p>
@@ -253,7 +253,7 @@
</li>
</ul></div>
<a name="spirit.karma.reference.generator_concepts.generator.models"></a><h6>
-<a name="id1159748"></a>
+<a name="id1104062"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.narygenerator"></a><a class="link" href="narygenerator.html" title="NaryGenerator">NaryGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.description"></a><h6>
-<a name="id1161273"></a>
+<a name="id1105632"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
Design Pattern.
</p>
<a name="spirit.karma.reference.generator_concepts.narygenerator.refinement_of"></a><h6>
-<a name="id1161304"></a>
+<a name="id1105664"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.refinement_of">Refinement
of</a>
</h6>
@@ -64,7 +64,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.valid_expressions"></a><h6>
-<a name="id1161381"></a>
+<a name="id1105740"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -115,7 +115,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.type_expressions"></a><h6>
-<a name="id1161501"></a>
+<a name="id1105860"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -168,7 +168,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.invariants"></a><h6>
-<a name="id1161877"></a>
+<a name="id1106236"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.invariants">Invariants</a>
</h6>
<p>
@@ -180,7 +180,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special"><</span><span class="identifier">E</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.models"></a><h6>
-<a name="id1161962"></a>
+<a name="id1106321"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.primitivegenerator"></a><a class="link" href="primitivegenerator.html" title="PrimitiveGenerator">PrimitiveGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.description"></a><h6>
-<a name="id1159790"></a>
+<a name="id1104104"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.description">Description</a>
</h6>
<p>
@@ -35,7 +35,7 @@
that the client uses to build more complex generators.
</p>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of"></a><h6>
-<a name="id1159810"></a>
+<a name="id1104124"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of">Refinement
of</a>
</h6>
@@ -49,7 +49,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit"></a><h6>
-<a name="id1159844"></a>
+<a name="id1104158"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit">Post-delimit</a>
</h6>
<p>
@@ -62,7 +62,7 @@
<pre class="programlisting"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">delimit_out</span><span class="special">(</span><span class="identifier">sink</span><span class="special">,</span> <span class="identifier">delimit</span><span class="special">);</span>
</pre>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions"></a><h6>
-<a name="id1159917"></a>
+<a name="id1104231"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -101,7 +101,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.models"></a><h6>
-<a name="id1160052"></a>
+<a name="id1104365"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.unarygenerator"></a><a class="link" href="unarygenerator.html" title="UnaryGenerator">UnaryGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.description"></a><h6>
-<a name="id1160116"></a>
+<a name="id1104430"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
following the Delegate Design Pattern.
</p>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.refinement_of"></a><h6>
-<a name="id1160137"></a>
+<a name="id1104450"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.refinement_of">Refinement
of</a>
</h6>
@@ -63,7 +63,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions"></a><h6>
-<a name="id1160214"></a>
+<a name="id1104527"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -113,7 +113,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.type_expressions"></a><h6>
-<a name="id1160329"></a>
+<a name="id1104642"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -166,7 +166,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.invariants"></a><h6>
-<a name="id1160494"></a>
+<a name="id1104808"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.invariants">Invariants</a>
</h6>
<p>
@@ -177,11 +177,15 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special"><</span><span class="identifier">G</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.models"></a><h6>
-<a name="id1160580"></a>
+<a name="id1104893"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.models">Models</a>
</h6>
<p>
- <span class="bold"><strong>FIXME</strong></span> Add links to models of UnaryGenerator
+ The following generators conform to this model: <a class="link" href="../operator/kleene.html" title="Kleene Star (unary operator*())">kleene
+ (unary <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../operator/plus.html" title="Plus (unary operator+())">plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>.
+ </p>
+<p>
+ <span class="bold"><strong>FIXME</strong></span> Add more links to models of UnaryGenerator
concept
</p>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.karma_basics"></a><a class="link" href="karma_basics.html" title="Basics"> Basics</a>
</h4></div></div></div>
<a name="spirit.karma.reference.karma_basics.lazy_argument"></a><h6>
-<a name="id1162027"></a>
+<a name="id1106386"></a>
<a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
Argument</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -35,6 +35,13 @@
(unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>)</a></span></dt>
<dt><span class="section"><a href="operator/plus.html"> Plus (unary
<code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span></code>)</a></span></dt>
+<dt><span class="section"> Lists (operator%()
)</span></dt>
+<dt><span class="section"><a href="operator/optional.html"> Optional
+ (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span></code>)</a></span></dt>
+<dt><span class="section"><a href="operator/and_predicate.html"> And
+ Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&()</span></code>)</a></span></dt>
+<dt><span class="section"><a href="operator/not_predicate.html"> Not
+ Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">!()</span></code>)</a></span></dt>
</dl></div>
<p>
This module includes different generators which get instantiated if one
@@ -47,7 +54,7 @@
and the <span class="emphasis"><em>not</em></span> predicate (unary <code class="computeroutput"><span class="special">!</span></code>).
</p>
<a name="spirit.karma.reference.operator.module_header"></a><h6>
-<a name="id1162242"></a>
+<a name="id1106601"></a>
<a class="link" href="operator.html#spirit.karma.reference.operator.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -28,7 +28,7 @@
(<code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.alternative.description"></a><h6>
-<a name="id1164311"></a>
+<a name="id1108670"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
from left to right until one of them succeeds.
</p>
<a name="spirit.karma.reference.operator.alternative.header"></a><h6>
-<a name="id1164328"></a>
+<a name="id1108687"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/alternative.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.alternative.model_of"></a><h6>
-<a name="id1164402"></a>
+<a name="id1108761"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.alternative.expression_semantics"></a><h6>
-<a name="id1164436"></a>
+<a name="id1108795"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.expression_semantics">Expression
Semantics</a>
</h6>
@@ -113,7 +113,7 @@
an element succeeded.
</p>
<a name="spirit.karma.reference.operator.alternative.attributes"></a><h6>
-<a name="id1164547"></a>
+<a name="id1108906"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -175,14 +175,14 @@
an example of this behavior.
</p>
<a name="spirit.karma.reference.operator.alternative.complexity"></a><h6>
-<a name="id1165046"></a>
+<a name="id1109406"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
<p>
</p>
<p>
- The oveall complexity of the alternative generator is defined by
+ The overall complexity of the alternative generator is defined by
the sum of the complexities of its elements. The complexity of the
alternative itself is O(N), where N is the number of elements in
the alternative.
@@ -191,7 +191,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.alternative.example"></a><h6>
-<a name="id1165070"></a>
+<a name="id1109430"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.example">Example</a>
</h6>
<p>
@@ -246,7 +246,7 @@
</p>
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">string</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">string</span><span class="special">;</span>
</pre>
<p>
</p>
@@ -265,6 +265,7 @@
</p>
<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"1.0"</span><span class="special">,</span> <span class="identifier">string</span> <span class="special">|</span> <span class="identifier">double_</span><span class="special">,</span> <span class="identifier">v1</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"2.0"</span><span class="special">,</span> <span class="identifier">string</span> <span class="special">|</span> <span class="identifier">double_</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span>
</pre>
<p>
</p>
@@ -282,6 +283,7 @@
</p>
<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="string">"example"</span><span class="special">);</span>
<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"example"</span><span class="special">,</span> <span class="identifier">string</span> <span class="special">|</span> <span class="identifier">double_</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"example"</span><span class="special">,</span> <span class="identifier">string</span> <span class="special">|</span> <span class="identifier">double_</span><span class="special">,</span> <span class="string">"example"</span><span class="special">);</span>
</pre>
<p>
</p>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,263 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>And Predicate (unary operator&())</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<link rel="home" href="../../../../index.html" title="Spirit 2.1">
+<link rel="up" href="../operator.html" title="Operator">
+<link rel="prev" href="optional.html" title="Optional (unary operator-())">
+<link rel="next" href="not_predicate.html" title="Not Predicate (unary operator!())">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="optional.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="not_predicate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="And Predicate (unary operator&())">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.operator.and_predicate"></a><a class="link" href="and_predicate.html" title="And Predicate (unary operator&())"> And
+ Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&()</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.operator.and_predicate.description"></a><h6>
+<a name="id1121010"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.description">Description</a>
+ </h6>
+<p>
+ The and predicate generator is used to test, whether the embedded generator
+ succeeds without generating any output. It succeeds if the embedded generator
+ succeeds.
+ </p>
+<a name="spirit.karma.reference.operator.and_predicate.header"></a><h6>
+<a name="id1121030"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/and_predicate.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_and_predicate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.operator.and_predicate.model_of"></a><h6>
+<a name="id1121104"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.model_of">Model
+ of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.and_predicate.expression_semantics"></a><h6>
+<a name="id1121140"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+ Semantics of an expression is defined only where it differs from, or
+ is not defined in <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&</span><span class="identifier">a</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The generator <code class="computeroutput"><span class="identifier">a</span></code>
+ is executed for the sole purpose of testing whether it succeeds.
+ The and predicate generator succeeds as long as its embedded
+ generator succeeds (except if the underlying output stream reports
+ an error). The and predicate never produces any output.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The and generator is implemented by redirecting all output produced by
+ its embedded generator into a discarding device.
+ </p>
+<a name="spirit.karma.reference.operator.and_predicate.attributes"></a><h6>
+<a name="id1121258"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.attributes">Attributes</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ and predicate (unary <code class="computeroutput"><span class="special">&</span></code>)
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ <span class="identifier">A</span> <span class="special">--></span>
+ <span class="special">&</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.operator.and_predicate.complexity"></a><h6>
+<a name="id1121371"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ The overall complexity of the and predicate generator is defined
+ by the complexity of its embedded generator. The complexity of the
+ and predicate generator itself is O(1).
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.and_predicate.example"></a><h6>
+<a name="id1121397"></a>
+ <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</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">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ All code snippets below use this common test function:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Some using declarations:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">string</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">ref</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of an and predicate generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"numeric: 1.0"</span><span class="special">,</span>
+ <span class="special">&((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"numeric: "</span> <span class="special"><<</span> <span class="identifier">double_</span>
+ <span class="special">|</span> <span class="special">&((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"string: "</span> <span class="special"><<</span> <span class="identifier">string</span>
+<span class="special">);</span>
+
+<span class="identifier">v</span> <span class="special">=</span> <span class="string">"example"</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"string: example"</span><span class="special">,</span>
+ <span class="special">&((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"numeric: "</span> <span class="special"><<</span> <span class="identifier">double_</span>
+ <span class="special">|</span> <span class="special">&((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"string: "</span> <span class="special"><<</span> <span class="identifier">string</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="optional.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="not_predicate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -28,7 +28,7 @@
(unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.kleene.description"></a><h6>
-<a name="id1166072"></a>
+<a name="id1112378"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
generator, the Kleene star generator always succeeds.
</p>
<a name="spirit.karma.reference.operator.kleene.header"></a><h6>
-<a name="id1166089"></a>
+<a name="id1112394"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/kleene.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.kleene.model_of"></a><h6>
-<a name="id1166164"></a>
+<a name="id1112469"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.kleene.expression_semantics"></a><h6>
-<a name="id1168061"></a>
+<a name="id1112507"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.expression_semantics">Expression
Semantics</a>
</h6>
@@ -105,7 +105,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.operator.kleene.attributes"></a><h6>
-<a name="id1168168"></a>
+<a name="id1112614"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -176,7 +176,7 @@
</tr>
<tr><td align="left" valign="top">
<p>
- The only compound generator performing buffering is <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
+ The only compound generator performing buffering is the <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
(<code class="computeroutput"><span class="special">|</span></code>)</a> generator.
This allows to force a Kleene star to behave as if it did buffering
by wrapping it into an alternative:
@@ -214,14 +214,14 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.kleene.complexity"></a><h6>
-<a name="id1168525"></a>
+<a name="id1112972"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
<p>
</p>
<p>
- The oveall complexity of the Kleene star generator is defined by
+ The overall complexity of the Kleene star generator is defined by
the complexity of its embedded generator multiplied by the number
of executed iterations. The complexity of the Kleene star itself
is O(N), where N is the number of elements in the container passed
@@ -231,7 +231,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.kleene.example"></a><h6>
-<a name="id1168549"></a>
+<a name="id1112996"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.example">Example</a>
</h6>
<p>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,347 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Lists (operator%())</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<link rel="home" href="../../../../index.html" title="Spirit 2.1">
+<link rel="up" href="../operator.html" title="Operator">
+<link rel="prev" href="plus.html" title="Plus (unary operator+())">
+<link rel="next" href="optional.html" title="Optional (unary operator-())">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="plus.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="optional.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Lists (operator%())">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.operator.list"></a><a class="link" href="list.html" title="Lists (operator%())"> Lists (<code class="computeroutput"><span class="keyword">operator</span><span class="special">%()</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.operator.list.description"></a><h6>
+<a name="id1116033"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.description">Description</a>
+ </h6>
+<p>
+ The list generator is used to repeat the execution of an embedded generator
+ and interspace it with the output of anyother generator one or more times.
+ It succeeds if the embedded generator has been successfully executed
+ at least once.
+ </p>
+<a name="spirit.karma.reference.operator.list.header"></a><h6>
+<a name="id1116049"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/list.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.operator.list.model_of"></a><h6>
+<a name="id1116124"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.model_of">Model of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/binarygenerator.html" title="BinaryGenerator"><code class="computeroutput"><span class="identifier">BinaryGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.list.expression_semantics"></a><h6>
+<a name="id1116162"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+ Semantics of an expression is defined only where it differs from, or
+ is not defined in <a class="link" href="../generator_concepts/binarygenerator.html" title="BinaryGenerator"><code class="computeroutput"><span class="identifier">BinaryGenerator</span></code></a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span>
+ <span class="identifier">b</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The generator <code class="computeroutput"><span class="identifier">a</span></code>
+ is executed one or more times depending on the availability of
+ an attribute. The output generated by <code class="computeroutput"><span class="identifier">a</span></code>
+ is interspaced with the output generated by <code class="computeroutput"><span class="identifier">b</span></code>.
+ The list generator succeeds as long as both its first embedded
+ generator has been successfully executed at least once (except
+ if the underlying output stream reports an error).
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The list expression <code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span> <span class="identifier">b</span></code>
+ is a shortcut for <code class="computeroutput"><span class="identifier">a</span> <span class="special"><<</span> <span class="special">*(</span><span class="identifier">b</span> <span class="special"><<</span>
+ <span class="identifier">a</span><span class="special">)</span></code>.
+ It is almost semantically equivalent, except for the attribute of <code class="computeroutput"><span class="identifier">b</span></code>, which gets ignored in the case of
+ the list generator.
+ </p>
+<a name="spirit.karma.reference.operator.list.attributes"></a><h6>
+<a name="id1116343"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.attributes">Attributes</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ list (<code class="computeroutput"><span class="special">%</span></code>)
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span><span class="special">,</span> <span class="identifier">b</span><span class="special">:</span> <span class="identifier">B</span> <span class="special">--></span> <span class="special">(</span><span class="identifier">a</span> <span class="special">%</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span>
+<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span><span class="special">,</span> <span class="identifier">b</span><span class="special">:</span> <span class="identifier">B</span> <span class="special">--></span> <span class="special">(</span><span class="identifier">a</span> <span class="special">%</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">Unused</span></pre>
+<p>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<div class="important" title="Important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The table above uses <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code> as a placeholder only. The notation
+ of <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
+ stands for <span class="emphasis"><em>any STL container</em></span> holding elements
+ of type <code class="computeroutput"><span class="identifier">A</span></code>.
+ </p></td></tr>
+</table></div>
+<p>
+ The list generator will execute its embedded generator once for each
+ element in the provided container attribute and as long as the embedded
+ generator succeeds. The output generated by its first generator will
+ be interspaced by the output generated by the second generator. On each
+ iteration it will pass the next consecutive element from the container
+ attribute to the first embedded generator. The second embedded generator
+ does not get passed any attributes (it gets invoked using an <code class="computeroutput"><span class="identifier">unused_type</span></code> as its attribute). Therefor
+ the number of iterations will not be larger than the number of elements
+ in the container passed as its attribute. An empty container will make
+ the list generator fail.
+ </p>
+<div class="tip" title="Tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ If you want to use the list generator and still allow for an empty
+ attribute, you can use the optional operator (see <a class="link" href="optional.html" title="Optional (unary operator-())">optional
+ (unary <code class="computeroutput"><span class="special">-</span></code>)</a>):
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="special">-(</span><span class="identifier">a</span> <span class="special">%</span> <span class="identifier">b</span><span class="special">)</span></pre>
+<p>
+ </p>
+<p>
+ which will succeed even if the provided container attribute does not
+ contain any elements.
+ </p>
+</td></tr>
+</table></div>
+<p>
+ It is important to note, that the list generator does not perform any
+ buffering of the output generated by its embedded elements. That means
+ that any failing element generator might have already generated some
+ output, which is <span class="emphasis"><em>not</em></span> rolled back.
+ </p>
+<div class="tip" title="Tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The only compound generator performing buffering is the <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
+ (<code class="computeroutput"><span class="special">|</span></code>)</a> generator.
+ This allows to force a list generator to behave as if it did buffering
+ by wrapping it into an alternative:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="special">(</span><span class="identifier">a</span> <span class="special">%</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<p>
+ </p>
+<p>
+ which will <span class="emphasis"><em>not</em></span> generate any output in case of
+ a failing generator <code class="computeroutput"><span class="identifier">a</span></code>.
+ </p>
+<p>
+ Here is why: if the first alternative (our list generator) fails, the
+ alternative discards any accumulated output and tries the second alternative,
+ which will always fail; if the first alternative succeeds, the <a class="link" href="../auxiliary/eps.html" title="eps"><code class="computeroutput"><span class="identifier">eps</span></code></a>
+ generator is never executed.
+ </p>
+</td></tr>
+</table></div>
+<a name="spirit.karma.reference.operator.list.complexity"></a><h6>
+<a name="id1116768"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ The overall complexity of the list generator is defined by the complexity
+ of its embedded generators multiplied by the number of executed iterations.
+ The complexity of the list generator itself is O(N), where N is the
+ number of elements in the container passed as its attribute.
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.list.example"></a><h6>
+<a name="id1116792"></a>
+ <a class="link" href="list.html#spirit.karma.reference.operator.list.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</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">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ All code snippets below use this common test function:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator_attr</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">attr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Some using declarations:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of a list generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">v1</span><span class="special">;</span>
+<span class="identifier">v1</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"1.0"</span><span class="special">,</span> <span class="identifier">double_</span> <span class="special">%</span> <span class="char">','</span><span class="special">,</span> <span class="identifier">v1</span><span class="special">);</span>
+
+<span class="identifier">v1</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"1.0,2.0"</span><span class="special">,</span> <span class="identifier">double_</span> <span class="special">%</span> <span class="char">','</span><span class="special">,</span> <span class="identifier">v1</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="plus.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="optional.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,263 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Not Predicate (unary operator!())</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<link rel="home" href="../../../../index.html" title="Spirit 2.1">
+<link rel="up" href="../operator.html" title="Operator">
+<link rel="prev" href="and_predicate.html" title="And Predicate (unary operator&())">
+<link rel="next" href="../auxiliary.html" title="Auxiliary">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="and_predicate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="../auxiliary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Not Predicate (unary operator!())">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.operator.not_predicate"></a><a class="link" href="not_predicate.html" title="Not Predicate (unary operator!())"> Not
+ Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">!()</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.operator.not_predicate.description"></a><h6>
+<a name="id1122566"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.description">Description</a>
+ </h6>
+<p>
+ The not predicate generator is used to test, whether the embedded generator
+ fails, without generating any output. It succeeds if the embedded generator
+ fails.
+ </p>
+<a name="spirit.karma.reference.operator.not_predicate.header"></a><h6>
+<a name="id1122585"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/not_predicate.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_not_predicate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.operator.not_predicate.model_of"></a><h6>
+<a name="id1122660"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.model_of">Model
+ of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.not_predicate.expression_semantics"></a><h6>
+<a name="id1122696"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+ Semantics of an expression is defined only where it differs from, or
+ is not defined in <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The generator <code class="computeroutput"><span class="identifier">a</span></code>
+ is executed for the sole purpose of testing whether it succeeds.
+ The not predicate generator succeeds as long as its embedded
+ generator fails (except if the underlying output stream reports
+ an error). The not predicate never produces any output.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The not generator is implemented by redirecting all output produced by
+ its embedded generator into a discarding device.
+ </p>
+<a name="spirit.karma.reference.operator.not_predicate.attributes"></a><h6>
+<a name="id1122799"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.attributes">Attributes</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ not predicate (unary <code class="computeroutput"><span class="special">!</span></code>)
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ <span class="identifier">A</span> <span class="special">--></span>
+ <span class="special">!</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.operator.not_predicate.complexity"></a><h6>
+<a name="id1122912"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ The overall complexity of the not predicate generator is defined
+ by the complexity of its embedded generator. The complexity of the
+ not predicate generator itself is O(1).
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.not_predicate.example"></a><h6>
+<a name="id1122938"></a>
+ <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</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">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ All code snippets below use this common test function:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator_attr</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">attr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Some using declarations:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">string</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">ref</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of a not predicate generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"not a string!"</span><span class="special">,</span>
+ <span class="special">!((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not numeric!"</span>
+ <span class="special">|</span> <span class="special">!((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not a string!"</span>
+<span class="special">);</span>
+
+<span class="identifier">v</span> <span class="special">=</span> <span class="string">"example"</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"not numeric!"</span><span class="special">,</span>
+ <span class="special">!((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not numeric!"</span>
+ <span class="special">|</span> <span class="special">!((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not a string!"</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="and_predicate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="../auxiliary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,316 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Optional (unary operator-())</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<link rel="home" href="../../../../index.html" title="Spirit 2.1">
+<link rel="up" href="../operator.html" title="Operator">
+<link rel="prev" href="list.html" title="Lists (operator%())">
+<link rel="next" href="and_predicate.html" title="And Predicate (unary operator&())">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="list.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="and_predicate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Optional (unary operator-())">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.operator.optional"></a><a class="link" href="optional.html" title="Optional (unary operator-())"> Optional
+ (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.operator.optional.description"></a><h6>
+<a name="id1119504"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.description">Description</a>
+ </h6>
+<p>
+ The optional generator is used to conditionally execute an embedded generator.
+ It succeeds always.
+ </p>
+<a name="spirit.karma.reference.operator.optional.header"></a><h6>
+<a name="id1119521"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/optional.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_optional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.operator.optional.model_of"></a><h6>
+<a name="id1119596"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.model_of">Model
+ of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.optional.expression_semantics"></a><h6>
+<a name="id1119634"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+ Semantics of an expression is defined only where it differs from, or
+ is not defined in <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The generator <code class="computeroutput"><span class="identifier">a</span></code>
+ is executed depending on the availability of an attribute. The
+ optional generator succeeds as long as its embedded generator
+ succeeds (except if the underlying output stream reports an error).
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.operator.optional.attributes"></a><h6>
+<a name="id1119734"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.attributes">Attributes</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ optional (unary <code class="computeroutput"><span class="special">-</span></code>)
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span> <span class="special">--></span> <span class="special">-</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span>
+<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--></span> <span class="special">-</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></pre>
+<p>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<div class="important" title="Important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The table above uses <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code> as a placeholder only. The notation
+ of <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
+ stands for the data type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>.
+ </p></td></tr>
+</table></div>
+<p>
+ The optional generator will execute its embedded generator once if the
+ provided attribute holds a valid value. It forwards the value contained
+ in its attribute to the embedded generator.
+ </p>
+<p>
+ It is important to note, that the optional generator does not perform
+ any buffering of the output generated by its embedded elements. That
+ means that any failing element might have already generated some output,
+ which is <span class="emphasis"><em>not</em></span> rolled back.
+ </p>
+<div class="tip" title="Tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The only compound generator performing buffering is the <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
+ (<code class="computeroutput"><span class="special">|</span></code>)</a> generator.
+ This allows to force a optional generator to behave as if it did buffering
+ by wrapping it into an alternative:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="special">-</span><span class="identifier">a</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<p>
+ </p>
+<p>
+ which will <span class="emphasis"><em>not</em></span> generate any output in case of
+ a failing generator <code class="computeroutput"><span class="identifier">a</span></code>.
+ </p>
+<p>
+ Here is why: if the first alternative (our optional generator) fails,
+ the alternative discards any accumulated output and tries the second
+ alternative, which will always fail; if the first alternative succeeds,
+ the <a class="link" href="../auxiliary/eps.html" title="eps"><code class="computeroutput"><span class="identifier">eps</span></code></a> generator is never executed.
+ </p>
+</td></tr>
+</table></div>
+<a name="spirit.karma.reference.operator.optional.complexity"></a><h6>
+<a name="id1120048"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ The overall complexity of the optional generator is defined by the
+ complexity of its embedded generator. The complexity of the optional
+ generator itself is O(1).
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.operator.optional.example"></a><h6>
+<a name="id1120072"></a>
+ <a class="link" href="optional.html#spirit.karma.reference.operator.optional.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</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">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ All code snippets below use this common test function:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator_attr</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">attr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Some using declarations:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of an optional generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">val</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"1.0"</span><span class="special">,</span> <span class="special">-</span><span class="identifier">double_</span><span class="special">,</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"2.0"</span><span class="special">,</span> <span class="special">-</span><span class="identifier">double_</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Usage and result of an empty optional generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">val</span><span class="special">;</span> <span class="comment">// empty optional
+</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="special">-</span><span class="identifier">double_</span><span class="special">,</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="list.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="and_predicate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -7,7 +7,7 @@
<link rel="home" href="../../../../index.html" title="Spirit 2.1">
<link rel="up" href="../operator.html" title="Operator">
<link rel="prev" href="kleene.html" title="Kleene Star (unary operator*())">
-<link rel="next" href="../auxiliary.html" title="Auxiliary">
+<link rel="next" href="list.html" title="Lists (operator%())">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="kleene.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="../auxiliary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="kleene.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="list.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" title="Plus (unary operator+())">
<div class="titlepage"><div><div><h5 class="title">
@@ -28,7 +28,7 @@
<code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.plus.description"></a><h6>
-<a name="id1169469"></a>
+<a name="id1113915"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
executed at least once.
</p>
<a name="spirit.karma.reference.operator.plus.header"></a><h6>
-<a name="id1169485"></a>
+<a name="id1113932"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/plus.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.plus.model_of"></a><h6>
-<a name="id1169560"></a>
+<a name="id1114006"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.plus.expression_semantics"></a><h6>
-<a name="id1169598"></a>
+<a name="id1114044"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.expression_semantics">Expression
Semantics</a>
</h6>
@@ -97,15 +97,15 @@
is executed one or more times depending on the availability of
an attribute. The execution of <code class="computeroutput"><span class="identifier">a</span></code>
stops after the attribute values passed to the plus generator
- are exhausted. The plus succeeds as long as its embedded generator
- has been successfully executed at least once (except if the underlying
- output stream reports an error).
+ are exhausted. The plus generator succeeds as long as its embedded
+ generator has been successfully executed at least once (except
+ if the underlying output stream reports an error).
</p>
</td>
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.operator.plus.attributes"></a><h6>
-<a name="id1169705"></a>
+<a name="id1114151"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -164,10 +164,10 @@
the plus generator fail.
</p>
<p>
- It is important to note, that the plus does not perform any buffering
- of the output generated by its embedded elements. That means that any
- failing element generator might have already generated some output, which
- is <span class="emphasis"><em>not</em></span> rolled back.
+ It is important to note, that the plus generator does not perform any
+ buffering of the output generated by its embedded elements. That means
+ that any failing element generator might have already generated some
+ output, which is <span class="emphasis"><em>not</em></span> rolled back.
</p>
<div class="tip" title="Tip"><table border="0" summary="Tip">
<tr>
@@ -176,10 +176,10 @@
</tr>
<tr><td align="left" valign="top">
<p>
- The only compound generator performing buffering is <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
+ The only compound generator performing buffering is the <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
(<code class="computeroutput"><span class="special">|</span></code>)</a> generator.
- This allows to force a plus to behave as if it did buffering by wrapping
- it into an alternative:
+ This allows to force a plus generator to behave as if it did buffering
+ by wrapping it into an alternative:
</p>
<p>
@@ -214,23 +214,23 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.plus.complexity"></a><h6>
-<a name="id1170063"></a>
+<a name="id1114995"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
<p>
</p>
<p>
- The oveall complexity of the plus generator is defined by the complexity
+ The overall complexity of the plus generator is defined by the complexity
of its embedded generator multiplied by the number of executed iterations.
- The complexity of the plus itself is O(N), where N is the number
- of elements in the container passed as its attribute.
+ The complexity of the plus generator itself is O(N), where N is the
+ number of elements in the container passed as its attribute.
</p>
<p>
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.plus.example"></a><h6>
-<a name="id1170087"></a>
+<a name="id1115019"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.example">Example</a>
</h6>
<p>
@@ -318,8 +318,8 @@
<p>
</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">v2</span><span class="special">;</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"empty"</span><span class="special">,</span> <span class="special">+</span><span class="identifier">double_</span> <span class="special">|</span> <span class="string">"empty"</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">);</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">v2</span><span class="special">;</span> <span class="comment">// empty container
+</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"empty"</span><span class="special">,</span> <span class="special">+</span><span class="identifier">double_</span> <span class="special">|</span> <span class="string">"empty"</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">);</span>
</pre>
<p>
</p>
@@ -337,7 +337,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="kleene.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="../auxiliary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="kleene.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.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="list.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -28,7 +28,7 @@
(<code class="computeroutput"><span class="keyword">operator</span><span class="special"><<()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.sequence.description"></a><h6>
-<a name="id1162328"></a>
+<a name="id1106687"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
to right as long as they succeed.
</p>
<a name="spirit.karma.reference.operator.sequence.header"></a><h6>
-<a name="id1162345"></a>
+<a name="id1106704"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/sequence.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.sequence.model_of"></a><h6>
-<a name="id1162419"></a>
+<a name="id1106778"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.sequence.expression_semantics"></a><h6>
-<a name="id1162455"></a>
+<a name="id1106814"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.expression_semantics">Expression
Semantics</a>
</h6>
@@ -117,7 +117,7 @@
</tr>
<tr><td align="left" valign="top">
<p>
- The only compound generator performing buffering is <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
+ The only compound generator performing buffering is the <a class="link" href="alternative.html" title="Alternatives (operator|())">alternative
(<code class="computeroutput"><span class="special">|</span></code>)</a> generator.
This allows to force a sequence to behave as if it did buffering by
wrapping it into an alternative:
@@ -138,7 +138,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.sequence.attributes"></a><h6>
-<a name="id1162659"></a>
+<a name="id1107018"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -211,14 +211,14 @@
the attribute supplied
</p>
<a name="spirit.karma.reference.operator.sequence.complexity"></a><h6>
-<a name="id1163457"></a>
+<a name="id1107816"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
<p>
</p>
<p>
- The oveall complexity of the sequence generator is defined by the
+ The overall complexity of the sequence generator is defined by the
sum of the complexities of its elements. The complexity of the sequence
itself is O(N), where N is the number of elements in the sequence.
</p>
@@ -226,7 +226,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.sequence.example"></a><h6>
-<a name="id1163481"></a>
+<a name="id1107840"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -28,7 +28,7 @@
Generator Attributes</a>
</h4></div></div></div>
<a name="spirit.karma.tutorials.karma_attributes.attributes_of_primitive_generators"></a><h6>
-<a name="id1143375"></a>
+<a name="id1087670"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_primitive_generators">Attributes
of Primitive Generators</a>
</h6>
@@ -59,7 +59,7 @@
<span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
</pre>
<a name="spirit.karma.tutorials.karma_attributes.attributes_of_compound_generators"></a><h6>
-<a name="id1143570"></a>
+<a name="id1087864"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_compound_generators">Attributes
of Compound Generators</a>
</h6>
@@ -118,7 +118,7 @@
Attribute Rules</a>.
</p>
<a name="spirit.karma.tutorials.karma_attributes.the_attribute_of_sequence_generators"></a><h6>
-<a name="id1143914"></a>
+<a name="id1088208"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.the_attribute_of_sequence_generators">The
Attribute of Sequence Generators</a>
</h6>
@@ -185,7 +185,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.tutorials.karma_attributes.more_about_attributes_of_compound_generators"></a><h6>
-<a name="id1144333"></a>
+<a name="id1088627"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.more_about_attributes_of_compound_generators">More
About Attributes of Compound Generators</a>
</h6>
@@ -278,7 +278,7 @@
for sequences but for any compound generator in <span class="emphasis"><em>Spirit.Karma</em></span>.
</p>
<a name="spirit.karma.tutorials.karma_attributes.attributes_of_rules_and_grammars"></a><h6>
-<a name="id1147326"></a>
+<a name="id1091620"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_rules_and_grammars">Attributes
of Rules and Grammars</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
</h4></div></div></div>
<a name="spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_"></a><h6>
-<a name="id1137987"></a>
+<a name="id1082282"></a>
<a class="link" href="quick_start.html#spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_">Spirit.Karma
- what's that?</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -247,7 +247,7 @@
The examples above can be found here: actions.cpp
</p>
<a name="spirit.karma.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id1140947"></a>
+<a name="id1085241"></a>
<a class="link" href="semantic_actions.html#spirit.karma.tutorials.semantic_actions.phoenix">Phoenix</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -31,7 +31,7 @@
We will start from trivial examples, ramping up as we go.
</p>
<a name="spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number"></a><h6>
-<a name="id1138113"></a>
+<a name="id1082408"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number">Trivial
Example #1 Generating a number</a>
</h6>
@@ -51,7 +51,7 @@
to a floating point generator or parser: <code class="computeroutput"><span class="identifier">double_</span></code>.
</p>
<a name="spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers"></a><h6>
-<a name="id1138157"></a>
+<a name="id1082451"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers">Trivial
Example #2 Generating two numbers</a>
</h6>
@@ -89,7 +89,7 @@
</p></td></tr>
</table></div>
<a name="spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers"></a><h6>
-<a name="id1138242"></a>
+<a name="id1082536"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers">Trivial
Example #3 Generating one or more numbers</a>
</h6>
@@ -114,7 +114,7 @@
numbers, if needed.
</p>
<a name="spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id1138290"></a>
+<a name="id1082584"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers">Trivial
Example #4 Generating a comma-delimited list of numbers</a>
</h6>
@@ -137,7 +137,7 @@
in the generated output zero or more times.
</p>
<a name="spirit.karma.tutorials.warming_up.let_s_generate_"></a><h6>
-<a name="id1138424"></a>
+<a name="id1082719"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.let_s_generate_">Let's
Generate!</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -51,7 +51,7 @@
of the <span class="emphasis"><em>Spirit.Lex</em></span> library.
</p>
<a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token"></a><h6>
-<a name="id1190759"></a>
+<a name="id1144043"></a>
<a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token">The
Anatomy of a Token</a>
</h6>
@@ -187,7 +187,7 @@
when it is requested for the first time.
</p>
<a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition"></a><h6>
-<a name="id1191285"></a>
+<a name="id1144568"></a>
<a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition">The
Physiognomy of a Token Definition</a>
</h6>
@@ -260,7 +260,7 @@
</td></tr>
</table></div>
<a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_"></a><h6>
-<a name="id1192368"></a>
+<a name="id1145999"></a>
<a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_">Examples
of using <a class="link" href="../../reference/token_class.html" title="Token Class"><code class="computeroutput"><span class="identifier">lexertl_token</span><span class="special"><></span></code></a></a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -105,7 +105,7 @@
<span class="keyword">void</span> <span class="identifier">f</span> <span class="special">();</span>
</pre>
<a name="spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action"></a><h6>
-<a name="id1195890"></a>
+<a name="id1151143"></a>
<a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action">The
context of a lexer semantic action</a>
</h6>
@@ -120,7 +120,7 @@
of the available functionality.
</p>
<div class="table">
-<a name="id1195910"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
+<a name="id1151163"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
semantic action</b></p>
<div class="table-contents"><table class="table" summary="Functions exposed by any context passed to a lexer
semantic action">
@@ -241,7 +241,7 @@
</table></div>
</div>
<br class="table-break"><a name="spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix"></a><h6>
-<a name="id1196429"></a>
+<a name="id1151681"></a>
<a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix">Lexer
Semantic Actions Using Phoenix</a>
</h6>
@@ -253,7 +253,7 @@
predefined Spirit placeholders:
</p>
<div class="table">
-<a name="id1196451"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
+<a name="id1151704"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
actions</b></p>
<div class="table-contents"><table class="table" summary="Predefined Phoenix placeholders for lexer semantic
actions">
@@ -384,7 +384,7 @@
table lists the available support functions and describes their functionality:
</p>
<div class="table">
-<a name="id1198819"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
+<a name="id1151983"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
inside lexer semantic actions</b></p>
<div class="table-contents"><table class="table" summary="Support functions usable from Phoenix expressions
inside lexer semantic actions">
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,17 +27,17 @@
<a name="spirit.lex.abstracts.lexer_states"></a><a class="link" href="lexer_states.html" title="Lexer States"> Lexer States</a>
</h4></div></div></div>
<a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions"></a><h6>
-<a name="id1201636"></a>
+<a name="id1155690"></a>
<a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions">Controlling
the Lexer State from Lexer Semantic Actions</a>
</h6>
<a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions"></a><h6>
-<a name="id1201649"></a>
+<a name="id1155703"></a>
<a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions">Controlling
the Lexer State from Parser Semantic Actions</a>
</h6>
<a name="spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser"></a><h6>
-<a name="id1201662"></a>
+<a name="id1155716"></a>
<a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser">Using
a Lexer State for the Skip Parser</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -176,7 +176,7 @@
<p>
</p>
<a name="spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer"></a><h6>
-<a name="id1200269"></a>
+<a name="id1153493"></a>
<a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer">Generating
the Static Analyzer</a>
</h6>
@@ -225,7 +225,7 @@
the next topic (the full generated code can be viewed here).
</p>
<a name="spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer"></a><h6>
-<a name="id1200596"></a>
+<a name="id1153820"></a>
<a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer">Modifying
the Dynamic Analyzer</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -28,7 +28,7 @@
Input Data</a>
</h4></div></div></div>
<a name="spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function"></a><h6>
-<a name="id1192895"></a>
+<a name="id1146526"></a>
<a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function">The
tokenize function</a>
</h6>
@@ -228,7 +228,7 @@
</dl>
</div>
<a name="spirit.lex.abstracts.lexer_tokenizing.the_generate_static_function"></a><h6>
-<a name="id1195268"></a>
+<a name="id1150521"></a>
<a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_generate_static_function">The
generate_static function</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -56,7 +56,7 @@
</li>
</ul></div>
<a name="spirit.lex.lexer_introduction.why_use_a_separate_lexer_"></a><h5>
-<a name="id1178697"></a>
+<a name="id1131913"></a>
<a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.why_use_a_separate_lexer_">Why
Use a Separate Lexer?</a>
</h5>
@@ -155,7 +155,7 @@
grammar recognizers.
</p>
<a name="spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id1178906"></a>
+<a name="id1132122"></a>
<a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_">Advantages
of using <span class="emphasis"><em>Spirit.Lex</em></span></a>
</h5>
@@ -203,7 +203,7 @@
application.
</p>
<a name="spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id1179094"></a>
+<a name="id1132225"></a>
<a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_">The
Library Structure of <span class="emphasis"><em>Spirit.Lex</em></span></a>
</h5>
Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.lex.reference.concepts.lexer"></a><a class="link" href="lexer.html" title="Lexer">Lexer</a>
</h5></div></div></div>
<div class="table">
-<a name="id1201714"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
+<a name="id1155768"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
<div class="table-contents"><table class="table" summary="Regular expressions support">
<colgroup>
<col>
@@ -502,7 +502,7 @@
</p></td></tr>
</table></div>
<a name="spirit.lex.reference.concepts.lexer.regular_expression_precedence"></a><h6>
-<a name="id1205477"></a>
+<a name="id1157346"></a>
<a class="link" href="lexer.html#spirit.lex.reference.concepts.lexer.regular_expression_precedence">Regular
Expression Precedence</a>
</h6>
@@ -521,7 +521,7 @@
</li>
</ul></div>
<a name="spirit.lex.reference.concepts.lexer.macros"></a><h6>
-<a name="id1205580"></a>
+<a name="id1158549"></a>
<a class="link" href="lexer.html#spirit.lex.reference.concepts.lexer.macros">Macros</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,22 +27,22 @@
<a name="spirit.lex.reference.lexer_class"></a><a class="link" href="lexer_class.html" title="Lexer Class">Lexer Class</a>
</h4></div></div></div>
<a name="spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model"></a><h6>
-<a name="id1205702"></a>
+<a name="id1158671"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model">The
lexertl_lexer Class Implementing the Dynamic Model</a>
</h6>
<a name="spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model"></a><h6>
-<a name="id1205715"></a>
+<a name="id1158685"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model">The
lexertl_actor_lexer Class Implementing the Dynamic Model</a>
</h6>
<a name="spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model"></a><h6>
-<a name="id1205729"></a>
+<a name="id1158698"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model">The
lexertl_static_lexer Class Implementing the Static Model</a>
</h6>
<a name="spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model"></a><h6>
-<a name="id1205742"></a>
+<a name="id1158711"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model">The
lexertl_static_actor_lexer Class Implementing the Static Model</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -39,7 +39,7 @@
(for the full example code see here: word_count_functor.cpp).
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.prerequisites"></a><h6>
-<a name="id1179363"></a>
+<a name="id1134230"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.prerequisites">Prerequisites</a>
</h6>
<p>
@@ -78,7 +78,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.defining_tokens"></a><h6>
-<a name="id1179608"></a>
+<a name="id1134474"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.defining_tokens">Defining
Tokens</a>
</h6>
@@ -133,7 +133,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work"></a><h6>
-<a name="id1179916"></a>
+<a name="id1134783"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work">Doing
the Useful Work</a>
</h6>
@@ -198,7 +198,7 @@
as well.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together"></a><h6>
-<a name="id1180415"></a>
+<a name="id1135282"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together">Pulling
Everything Together</a>
</h6>
@@ -251,7 +251,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_"></a><h6>
-<a name="id1183065"></a>
+<a name="id1136109"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_">Comparing
<span class="emphasis"><em>Spirit.Lex</em></span> with Flex</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -40,7 +40,7 @@
options along the lines (for the full example code see here: word_count_lexer.cpp).
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.prerequisites"></a><h6>
-<a name="id1183840"></a>
+<a name="id1136925"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.prerequisites">Prerequisites</a>
</h6>
<p>
@@ -114,7 +114,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_"></a><h6>
-<a name="id1184490"></a>
+<a name="id1137574"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_">Semantic
Actions in <span class="emphasis"><em>Spirit.Lex</em></span></a>
</h6>
@@ -173,7 +173,7 @@
Semantic Actions</a>.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer"></a><h6>
-<a name="id1185108"></a>
+<a name="id1138192"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer">Associating
Token Definitions with the Lexer</a>
</h6>
@@ -209,7 +209,7 @@
with the constant defined by <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">lex</span><span class="special">::</span><span class="identifier">min_token_id</span></code>.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together"></a><h6>
-<a name="id1185414"></a>
+<a name="id1138498"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together">Pulling
everything together</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -65,7 +65,7 @@
code see here: word_count.cpp).
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.prerequisites"></a><h6>
-<a name="id1186388"></a>
+<a name="id1139473"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.prerequisites">Prerequisites</a>
</h6>
<p>
@@ -115,7 +115,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.defining_tokens"></a><h6>
-<a name="id1186819"></a>
+<a name="id1139904"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.defining_tokens">Defining
Tokens</a>
</h6>
@@ -168,7 +168,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers"></a><h6>
-<a name="id1187156"></a>
+<a name="id1140241"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers">Using
Token Definition Instances as Parsers</a>
</h6>
@@ -322,7 +322,7 @@
<span class="identifier">size</span><span class="special">(</span><span class="identifier">_1</span><span class="special">)</span></code>.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together"></a><h6>
-<a name="id1189774"></a>
+<a name="id1143058"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together">Pulling
Everything Together</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/preface.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/preface.html (original)
+++ trunk/libs/spirit/doc/html/spirit/preface.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -41,11 +41,11 @@
</p>
</blockquote></div>
<a name="spirit.preface.history"></a><h4>
-<a name="id1076214"></a>
+<a name="id1020509"></a>
<a class="link" href="preface.html#spirit.preface.history">History</a>
</h4>
<a name="spirit.preface._emphasis_80s__emphasis_"></a><h4>
-<a name="id1076228"></a>
+<a name="id1020522"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_80s__emphasis_"><span class="emphasis"><em>80s</em></span></a>
</h4>
<p>
@@ -59,7 +59,7 @@
parser. This worked very well.
</p>
<a name="spirit.preface._emphasis_90s__emphasis_"></a><h4>
-<a name="id1076246"></a>
+<a name="id1020540"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_90s__emphasis_"><span class="emphasis"><em>90s</em></span></a>
</h4>
<p>
@@ -97,7 +97,7 @@
here: pre-Spirit.
</p>
<a name="spirit.preface._emphasis_2001_to_2006__emphasis_"></a><h4>
-<a name="id1076288"></a>
+<a name="id1020582"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_2001_to_2006__emphasis_"><span class="emphasis"><em>2001
to 2006</em></span></a>
</h4>
@@ -127,7 +127,7 @@
for design and implementation quality, robustness, and reusability.
</p>
<a name="spirit.preface._emphasis_2007__emphasis_"></a><h4>
-<a name="id1076322"></a>
+<a name="id1020617"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_2007__emphasis_"><span class="emphasis"><em>2007</em></span></a>
</h4>
<p>
@@ -164,7 +164,7 @@
gives you the right ingredients to create a sledgehammer easily.
</p>
<a name="spirit.preface.new_ideas__spirit_v2"></a><h4>
-<a name="id1076398"></a>
+<a name="id1020692"></a>
<a class="link" href="preface.html#spirit.preface.new_ideas__spirit_v2">New Ideas: Spirit V2</a>
</h4>
<p>
@@ -202,7 +202,7 @@
same underlying component library as for the parser and generator libraries.
</p>
<a name="spirit.preface.how_to_use_this_manual"></a><h4>
-<a name="id1076448"></a>
+<a name="id1020743"></a>
<a class="link" href="preface.html#spirit.preface.how_to_use_this_manual">How to use this manual</a>
</h4>
<p>
@@ -233,7 +233,7 @@
icons precede some text to indicate:
</p>
<div class="table">
-<a name="id1076501"></a><p class="title"><b>Table 1. Icons</b></p>
+<a name="id1020796"></a><p class="title"><b>Table 1. Icons</b></p>
<div class="table-contents"><table class="table" summary="Icons">
<colgroup>
<col>
@@ -354,7 +354,7 @@
Tools</a>.
</p>
<a name="spirit.preface.support"></a><h4>
-<a name="id1076742"></a>
+<a name="id1021037"></a>
<a class="link" href="preface.html#spirit.preface.support">Support</a>
</h4>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -41,7 +41,7 @@
<span class="identifier">b</span></code> will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span></code>.
</p>
<div class="table">
-<a name="id1115564"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
+<a name="id1059859"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
<div class="table-contents"><table class="table" summary="compound parser attribute types">
<colgroup>
<col>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -34,7 +34,7 @@
<code class="computeroutput"><span class="identifier">eps</span></code>, and <code class="computeroutput"><span class="identifier">lazy</span></code> parsers.
</p>
<a name="spirit.qi.reference.auxiliary.module_header"></a><h6>
-<a name="id1126333"></a>
+<a name="id1070627"></a>
<a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/auxiliary.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -31,7 +31,7 @@
consuming any input
</li></ul></div>
<a name="spirit.qi.reference.auxiliary.attr.description"></a><h6>
-<a name="id1126437"></a>
+<a name="id1070732"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.description">Description</a>
</h6>
<p>
@@ -42,7 +42,7 @@
an attribute to the parsing process.
</p>
<a name="spirit.qi.reference.auxiliary.attr.header"></a><h6>
-<a name="id1126468"></a>
+<a name="id1070763"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/auxiliary/attr.hpp>
@@ -52,7 +52,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.auxiliary.attr.model_of"></a><h6>
-<a name="id1126543"></a>
+<a name="id1070837"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -80,7 +80,7 @@
</dl>
</div>
<a name="spirit.qi.reference.auxiliary.attr.expression_semantics"></a><h6>
-<a name="id1126624"></a>
+<a name="id1070919"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.expression_semantics">Expression
Semantics</a>
</h6>
@@ -137,7 +137,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.auxiliary.attr.attributes"></a><h6>
-<a name="id1126784"></a>
+<a name="id1071078"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -187,7 +187,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.auxiliary.attr.complexity"></a><h6>
-<a name="id1128090"></a>
+<a name="id1072385"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -204,7 +204,7 @@
done.
</p>
<a name="spirit.qi.reference.auxiliary.attr.example"></a><h6>
-<a name="id1128118"></a>
+<a name="id1072412"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.basics"></a><a class="link" href="basics.html" title="Basics">Basics</a>
</h4></div></div></div>
<a name="spirit.qi.reference.basics.lazy_argument"></a><h6>
-<a name="id1125962"></a>
+<a name="id1070256"></a>
<a class="link" href="basics.html#spirit.qi.reference.basics.lazy_argument">Lazy Argument</a>
</h6>
<p>
@@ -51,7 +51,7 @@
second argument. This is done for uniformity with Semantic Actions).
</p>
<a name="spirit.qi.reference.basics.character_encoding_namespace"></a><h6>
-<a name="id1126099"></a>
+<a name="id1070393"></a>
<a class="link" href="basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
Encoding Namespace</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -34,7 +34,7 @@
<code class="computeroutput"><span class="identifier">raw</span></code>, and <code class="computeroutput"><span class="identifier">skip</span></code> directives.
</p>
<a name="spirit.qi.reference.directive.module_header"></a><h6>
-<a name="id1129169"></a>
+<a name="id1073464"></a>
<a class="link" href="directive.html#spirit.qi.reference.directive.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/directive.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -31,7 +31,7 @@
forcing all embedded parsers to do case in-sensitive matching.
</li></ul></div>
<a name="spirit.qi.reference.directive.no_case.description"></a><h6>
-<a name="id1129274"></a>
+<a name="id1073568"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.description">Description</a>
</h6>
<p>
@@ -41,7 +41,7 @@
of all embedded parsers to be case in-sensitive.
</p>
<a name="spirit.qi.reference.directive.no_case.header"></a><h6>
-<a name="id1129301"></a>
+<a name="id1073596"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/directive/no_case.hpp>
@@ -51,7 +51,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.directive.no_case.model_of"></a><h6>
-<a name="id1129376"></a>
+<a name="id1073670"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.model_of">Model
of</a>
</h6>
@@ -76,7 +76,7 @@
</dl>
</div>
<a name="spirit.qi.reference.directive.no_case.expression_semantics"></a><h6>
-<a name="id1129438"></a>
+<a name="id1073732"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.expression_semantics">Expression
Semantics</a>
</h6>
@@ -137,7 +137,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.directive.no_case.attributes"></a><h6>
-<a name="id1129744"></a>
+<a name="id1074038"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -172,7 +172,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.directive.no_case.complexity"></a><h6>
-<a name="id1129833"></a>
+<a name="id1074127"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -185,7 +185,7 @@
</p>
</blockquote></div>
<a name="spirit.qi.reference.directive.no_case.example"></a><h6>
-<a name="id1129857"></a>
+<a name="id1074151"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.binaryparser"></a><a class="link" href="binaryparser.html" title="BinaryParser">BinaryParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.description"></a><h6>
-<a name="id1124767"></a>
+<a name="id1069061"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
following the Composite Design Pattern.
</p>
<a name="spirit.qi.reference.parser_concepts.binaryparser.refinement_of"></a><h6>
-<a name="id1124818"></a>
+<a name="id1069113"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.refinement_of">Refinement
of</a>
</h6>
@@ -64,7 +64,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.valid_expressions"></a><h6>
-<a name="id1124898"></a>
+<a name="id1069192"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -133,7 +133,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.type_expressions"></a><h6>
-<a name="id1125058"></a>
+<a name="id1069353"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.type_expressions">Type
Expressions</a>
</h6>
@@ -198,7 +198,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.invariants"></a><h6>
-<a name="id1125260"></a>
+<a name="id1069554"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.invariants">Invariants</a>
</h6>
<p>
@@ -214,7 +214,7 @@
</li>
</ul></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.models"></a><h6>
-<a name="id1125399"></a>
+<a name="id1069694"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.naryparser"></a><a class="link" href="naryparser.html" title="NaryParser">NaryParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.description"></a><h6>
-<a name="id1125434"></a>
+<a name="id1069728"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
Design Pattern.
</p>
<a name="spirit.qi.reference.parser_concepts.naryparser.refinement_of"></a><h6>
-<a name="id1125470"></a>
+<a name="id1069764"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.refinement_of">Refinement
of</a>
</h6>
@@ -64,7 +64,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.naryparser.valid_expressions"></a><h6>
-<a name="id1125549"></a>
+<a name="id1069844"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -115,7 +115,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.type_expressions"></a><h6>
-<a name="id1125672"></a>
+<a name="id1069966"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.type_expressions">Type
Expressions</a>
</h6>
@@ -168,7 +168,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.invariants"></a><h6>
-<a name="id1125843"></a>
+<a name="id1070138"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.invariants">Invariants</a>
</h6>
<p>
@@ -180,7 +180,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special"><</span><span class="identifier">E</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.models"></a><h6>
-<a name="id1125928"></a>
+<a name="id1070223"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.parser"></a><a class="link" href="parser.html" title="Parser">Parser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.parser.description"></a><h6>
-<a name="id1122969"></a>
+<a name="id1067263"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.description">Description</a>
</h6>
<p>
@@ -82,7 +82,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.parser.valid_expressions"></a><h6>
-<a name="id1123232"></a>
+<a name="id1067526"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -162,7 +162,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.parser.type_expressions"></a><h6>
-<a name="id1123499"></a>
+<a name="id1067794"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.type_expressions">Type
Expressions</a>
</h6>
@@ -215,7 +215,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.parser.postcondition"></a><h6>
-<a name="id1123697"></a>
+<a name="id1067992"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.postcondition">Postcondition</a>
</h6>
<p>
@@ -249,7 +249,7 @@
</li>
</ul></div>
<a name="spirit.qi.reference.parser_concepts.parser.models"></a><h6>
-<a name="id1123825"></a>
+<a name="id1068119"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.primitiveparser"></a><a class="link" href="primitiveparser.html" title="PrimitiveParser">PrimitiveParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.description"></a><h6>
-<a name="id1123859"></a>
+<a name="id1068154"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.description">Description</a>
</h6>
<p>
@@ -35,7 +35,7 @@
that the client uses to build more complex parsers.
</p>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.refinement_of"></a><h6>
-<a name="id1123882"></a>
+<a name="id1068177"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.refinement_of">Refinement
of</a>
</h6>
@@ -49,7 +49,7 @@
</p>
</blockquote></div>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.pre_skip"></a><h6>
-<a name="id1123918"></a>
+<a name="id1068213"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.pre_skip">Pre-skip</a>
</h6>
<p>
@@ -63,7 +63,7 @@
<pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip_over</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">skip</span><span class="special">);</span>
</pre>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.type_expressions"></a><h6>
-<a name="id1124009"></a>
+<a name="id1068304"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.type_expressions">Type
Expressions</a>
</h6>
@@ -102,7 +102,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.models"></a><h6>
-<a name="id1124146"></a>
+<a name="id1068441"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.unaryparser"></a><a class="link" href="unaryparser.html" title="UnaryParser">UnaryParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.description"></a><h6>
-<a name="id1124187"></a>
+<a name="id1068481"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
the Delegate Design Pattern.
</p>
<a name="spirit.qi.reference.parser_concepts.unaryparser.refinement_of"></a><h6>
-<a name="id1124212"></a>
+<a name="id1068507"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.refinement_of">Refinement
of</a>
</h6>
@@ -63,7 +63,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.valid_expressions"></a><h6>
-<a name="id1124291"></a>
+<a name="id1068586"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -113,7 +113,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.type_expressions"></a><h6>
-<a name="id1124405"></a>
+<a name="id1068700"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.type_expressions">Type
Expressions</a>
</h6>
@@ -166,7 +166,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.invariants"></a><h6>
-<a name="id1124573"></a>
+<a name="id1068868"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.invariants">Invariants</a>
</h6>
<p>
@@ -177,7 +177,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special"><</span><span class="identifier">P</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.models"></a><h6>
-<a name="id1124732"></a>
+<a name="id1069026"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -35,7 +35,7 @@
the literal and string parsers and the symbol table.
</p>
<a name="spirit.qi.reference.string.module_header"></a><h6>
-<a name="id1130967"></a>
+<a name="id1075262"></a>
<a class="link" href="string.html#spirit.qi.reference.string.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/string.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -39,7 +39,7 @@
</li>
</ul></div>
<a name="spirit.qi.reference.string.lit_string.description"></a><h6>
-<a name="id1131130"></a>
+<a name="id1075425"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.description">Description</a>
</h6>
<p>
@@ -48,7 +48,7 @@
parser is not applied in between characters of the string.
</p>
<a name="spirit.qi.reference.string.lit_string.header"></a><h6>
-<a name="id1131154"></a>
+<a name="id1075449"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/string/lit.hpp>
@@ -58,7 +58,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.string.lit_string.model_of"></a><h6>
-<a name="id1131229"></a>
+<a name="id1075523"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.model_of">Model
of</a>
</h6>
@@ -93,7 +93,7 @@
</dl>
</div>
<a name="spirit.qi.reference.string.lit_string.expression_semantics"></a><h6>
-<a name="id1131364"></a>
+<a name="id1075659"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.expression_semantics">Expression
Semantics</a>
</h6>
@@ -203,7 +203,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.lit_string.attributes"></a><h6>
-<a name="id1131715"></a>
+<a name="id1076009"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -307,7 +307,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.lit_string.complexity"></a><h6>
-<a name="id1132141"></a>
+<a name="id1076435"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -324,7 +324,7 @@
of characters in the string to be parsed.
</p>
<a name="spirit.qi.reference.string.lit_string.example"></a><h6>
-<a name="id1132176"></a>
+<a name="id1076470"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.string.symbols"></a><a class="link" href="symbols.html" title="symbols">symbols</a>
</h5></div></div></div>
<a name="spirit.qi.reference.string.symbols.description"></a><h6>
-<a name="id1134448"></a>
+<a name="id1078742"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.description">Description</a>
</h6>
<p>
@@ -47,7 +47,7 @@
its behavior.
</p>
<a name="spirit.qi.reference.string.symbols.header"></a><h6>
-<a name="id1134483"></a>
+<a name="id1078777"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/string/symbols.hpp>
@@ -57,14 +57,14 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.string.symbols.synopsis"></a><h6>
-<a name="id1134557"></a>
+<a name="id1078852"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Char</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">symbols</span><span class="special">;</span>
</pre>
<a name="spirit.qi.reference.string.symbols.template_parameters"></a><h6>
-<a name="id1134622"></a>
+<a name="id1078916"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.template_parameters">Template
parameters</a>
</h6>
@@ -129,7 +129,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.symbols.model_of"></a><h6>
-<a name="id1134749"></a>
+<a name="id1079044"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -191,7 +191,7 @@
</dl>
</div>
<a name="spirit.qi.reference.string.symbols.expression_semantics"></a><h6>
-<a name="id1135052"></a>
+<a name="id1079346"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.expression_semantics">Expression
Semantics</a>
</h6>
@@ -425,14 +425,14 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.symbols.attributes"></a><h6>
-<a name="id1136663"></a>
+<a name="id1080957"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.attributes">Attributes</a>
</h6>
<p>
The attribute of <code class="computeroutput"><span class="identifier">symbol</span><span class="special"><</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span></code> is <code class="computeroutput"><span class="identifier">T</span></code>.
</p>
<a name="spirit.qi.reference.string.symbols.example"></a><h6>
-<a name="id1136713"></a>
+<a name="id1081007"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -179,7 +179,7 @@
has a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> attribute.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.lexeme"></a><h6>
-<a name="id1100005"></a>
+<a name="id1044300"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.lexeme">Lexeme</a>
</h6>
<pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">>></span> <span class="char">'"'</span><span class="special">];</span>
@@ -196,7 +196,7 @@
a double quote.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.difference"></a><h6>
-<a name="id1100118"></a>
+<a name="id1044412"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.difference">Difference</a>
</h6>
<p>
@@ -215,7 +215,7 @@
is just <code class="computeroutput"><span class="keyword">char</span></code>.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.plus"></a><h6>
-<a name="id1100226"></a>
+<a name="id1044520"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.plus">Plus</a>
</h6>
<pre class="programlisting"><span class="special">+</span><span class="identifier">a</span>
@@ -234,7 +234,7 @@
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span>
</pre>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute"></a><h6>
-<a name="id1100352"></a>
+<a name="id1044646"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute">Sequence
Attribute</a>
</h6>
@@ -275,7 +275,7 @@
</p></td></tr>
</table></div>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing"></a><h6>
-<a name="id1100574"></a>
+<a name="id1044868"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing">Attribute
Collapsing</a>
</h6>
@@ -307,7 +307,7 @@
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span>
</pre>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.auto_rules"></a><h6>
-<a name="id1100813"></a>
+<a name="id1045107"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.auto_rules">Auto
Rules</a>
</h6>
@@ -345,7 +345,7 @@
directly into the rule's attribute, in-situ.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.finally"></a><h6>
-<a name="id1101132"></a>
+<a name="id1045426"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.finally">Finally</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -69,7 +69,7 @@
for testing purposes. "4.toyxml" has an error in it.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.first_cut"></a><h6>
-<a name="id1101784"></a>
+<a name="id1046079"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.first_cut">First Cut</a>
</h6>
<p>
@@ -145,7 +145,7 @@
by the placeholder <code class="computeroutput"><span class="identifier">_val</span></code>).
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.alternates"></a><h6>
-<a name="id1102965"></a>
+<a name="id1047260"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.alternates">Alternates</a>
</h6>
<pre class="programlisting"><span class="identifier">rule</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml_node</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">></span> <span class="identifier">node</span><span class="special">;</span>
@@ -175,7 +175,7 @@
<span class="special">;</span>
</pre>
<a name="spirit.qi.tutorials.mini_xml___asts_.not_predicate"></a><h6>
-<a name="id1103293"></a>
+<a name="id1047587"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.not_predicate">Not
Predicate</a>
</h6>
@@ -202,7 +202,7 @@
at this point.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.inherited_attribute"></a><h6>
-<a name="id1103448"></a>
+<a name="id1047742"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.inherited_attribute">Inherited
Attribute</a>
</h6>
@@ -228,7 +228,7 @@
<code class="computeroutput"><span class="identifier">_r3</span></code>, etc. if you have more).
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit"></a><h6>
-<a name="id1105289"></a>
+<a name="id1049584"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit">A Lazy
Lit</a>
</h6>
@@ -262,7 +262,7 @@
accessors, provided by Phoenix.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.how_it_all_works"></a><h6>
-<a name="id1105620"></a>
+<a name="id1049915"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.how_it_all_works">How
it all works</a>
</h6>
@@ -309,7 +309,7 @@
as <code class="computeroutput"><span class="identifier">_r1</span></code>.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.the_structures"></a><h6>
-<a name="id1105917"></a>
+<a name="id1050211"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.the_structures">The
Structures</a>
</h6>
@@ -342,7 +342,7 @@
<p>
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants"></a><h6>
-<a name="id1106112"></a>
+<a name="id1050407"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants">Of
Alternates and Variants</a>
</h6>
@@ -369,7 +369,7 @@
of <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">B</span></code> is the attribute of <code class="computeroutput"><span class="identifier">b</span></code>.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again"></a><h6>
-<a name="id1106292"></a>
+<a name="id1050587"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again">Adapting
structs again</a>
</h6>
@@ -395,7 +395,7 @@
<p>
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.one_more_take"></a><h6>
-<a name="id1106433"></a>
+<a name="id1050727"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.one_more_take">One
More Take</a>
</h6>
@@ -464,7 +464,7 @@
in the <code class="computeroutput"><span class="identifier">xml</span></code> rule:
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.local_variables"></a><h6>
-<a name="id1107348"></a>
+<a name="id1051643"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.local_variables">Local
Variables</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -44,7 +44,7 @@
What's new?
</p>
<a name="spirit.qi.tutorials.mini_xml___error_handling.readable_names"></a><h6>
-<a name="id1108343"></a>
+<a name="id1052637"></a>
<a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.readable_names">Readable
Names</a>
</h6>
@@ -63,7 +63,7 @@
<span class="identifier">end_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"end_tag"</span><span class="special">);</span>
</pre>
<a name="spirit.qi.tutorials.mini_xml___error_handling.on_error"></a><h6>
-<a name="id1108523"></a>
+<a name="id1052817"></a>
<a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.on_error">On
Error</a>
</h6>
@@ -241,7 +241,7 @@
</tbody>
</table></div>
<a name="spirit.qi.tutorials.mini_xml___error_handling.expectation_points"></a><h6>
-<a name="id1109031"></a>
+<a name="id1053326"></a>
<a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.expectation_points">Expectation
Points</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
</h4></div></div></div>
<a name="spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_"></a><h6>
-<a name="id1085795"></a>
+<a name="id1030089"></a>
<a class="link" href="quick_start.html#spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_">Why
would you want to use Spirit.Qi?</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -41,7 +41,7 @@
</li>
</ul></div>
<a name="spirit.qi.tutorials.roman_numerals.symbol_table"></a><h6>
-<a name="id1093892"></a>
+<a name="id1038187"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.symbol_table">Symbol
Table</a>
</h6>
@@ -173,7 +173,7 @@
They are all parsers.
</p>
<a name="spirit.qi.tutorials.roman_numerals.rules"></a><h6>
-<a name="id1095965"></a>
+<a name="id1040260"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.rules">Rules</a>
</h6>
<p>
@@ -253,7 +253,7 @@
<pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">double_</span> <span class="special">>></span> <span class="special">*(</span><span class="char">','</span> <span class="special">>></span> <span class="identifier">double_</span><span class="special">);</span>
</pre>
<a name="spirit.qi.tutorials.roman_numerals.grammars"></a><h6>
-<a name="id1096358"></a>
+<a name="id1040652"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.grammars">Grammars</a>
</h6>
<p>
@@ -358,7 +358,7 @@
</li>
</ul></div>
<a name="spirit.qi.tutorials.roman_numerals.let_s_parse_"></a><h6>
-<a name="id1097085"></a>
+<a name="id1041379"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.let_s_parse_">Let's Parse!</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -233,7 +233,7 @@
The examples above can be found here: ../../example/qi/actions.cpp
</p>
<a name="spirit.qi.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id1088464"></a>
+<a name="id1032758"></a>
<a class="link" href="semantic_actions.html#spirit.qi.tutorials.semantic_actions.phoenix">Phoenix</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -31,7 +31,7 @@
on how to build parsers from the simplest parser, building up as we go.
</p>
<a name="spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number"></a><h6>
-<a name="id1085840"></a>
+<a name="id1030135"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number">Trivial
Example #1 Parsing a number</a>
</h6>
@@ -46,7 +46,7 @@
parsers and consistent naming conventions help you keep from going insane!
</p>
<a name="spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers"></a><h6>
-<a name="id1085869"></a>
+<a name="id1030164"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers">Trivial
Example #2 Parsing two numbers</a>
</h6>
@@ -79,7 +79,7 @@
</p></td></tr>
</table></div>
<a name="spirit.qi.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers"></a><h6>
-<a name="id1086409"></a>
+<a name="id1030704"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers">Trivial
Example #3 Parsing one or more numbers</a>
</h6>
@@ -103,7 +103,7 @@
in most places.
</p>
<a name="spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id1086454"></a>
+<a name="id1030748"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers">Trivial
Example #4 Parsing a comma-delimited list of numbers</a>
</h6>
@@ -126,7 +126,7 @@
star encloses the complete expression above.
</p>
<a name="spirit.qi.tutorials.warming_up.let_s_parse_"></a><h6>
-<a name="id1086584"></a>
+<a name="id1030879"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.let_s_parse_">Let's Parse!</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/support/multi_pass.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/support/multi_pass.html (original)
+++ trunk/libs/spirit/doc/html/spirit/support/multi_pass.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -61,7 +61,7 @@
iterator was created.
</p>
<a name="spirit.support.multi_pass.using_the_multi_pass"></a><h5>
-<a name="id1205893"></a>
+<a name="id1158862"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_multi_pass">Using the
multi_pass</a>
</h5>
@@ -209,7 +209,7 @@
<p>
</p>
<a name="spirit.support.multi_pass.using_the_flush_multi_pass_parser"></a><h5>
-<a name="id1207161"></a>
+<a name="id1160131"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_flush_multi_pass_parser">Using
the flush_multi_pass parser</a>
</h5>
@@ -231,7 +231,7 @@
thrown.
</p>
<a name="spirit.support.multi_pass.the_multi_pass_policies"></a><h5>
-<a name="id1207255"></a>
+<a name="id1160224"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.the_multi_pass_policies">The multi_pass
Policies</a>
</h5>
@@ -272,7 +272,7 @@
the functionality groups:
</p>
<div class="table">
-<a name="id1207361"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
+<a name="id1160330"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
<div class="table-contents"><table class="table" summary="Policies needed for default_policy template">
<colgroup>
<col>
@@ -355,7 +355,7 @@
implementations.
</p>
<a name="spirit.support.multi_pass.predefined_policies"></a><h5>
-<a name="id1207553"></a>
+<a name="id1160522"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.predefined_policies">Predefined
policies</a>
</h5>
@@ -364,7 +364,7 @@
policies are defined in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">iterator_policies</span></code>.
</p>
<div class="table">
-<a name="id1208141"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
+<a name="id1160564"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
<div class="table-contents"><table class="table" summary="Predefined policy classes">
<colgroup>
<col>
@@ -601,7 +601,7 @@
</table></div>
</div>
<br class="table-break"><a name="spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass"></a><h5>
-<a name="id1208806"></a>
+<a name="id1161525"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass">Combinations:
How to specify your own custom multi_pass</a>
</h5>
@@ -647,7 +647,7 @@
behaviors while wrapping an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream_iterator</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span></code>.
</p>
<a name="spirit.support.multi_pass.dealing_with_constant_look_ahead"></a><h5>
-<a name="id1209228"></a>
+<a name="id1161948"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.dealing_with_constant_look_ahead">Dealing
with constant look ahead</a>
</h5>
@@ -666,7 +666,7 @@
StoragePolicy.
</p>
<a name="spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy"></a><h5>
-<a name="id1209360"></a>
+<a name="id1162080"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy">How
to write a functor for use with the <code class="computeroutput"><span class="identifier">functor_input</span></code>
InputPolicy</a>
@@ -725,7 +725,7 @@
<span class="special">}</span>
</pre>
<a name="spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass"></a><h5>
-<a name="id1209947"></a>
+<a name="id1162667"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass">How
to write policies for use with multi_pass</a>
</h5>
@@ -742,7 +742,7 @@
copies of a particular <code class="computeroutput"><span class="identifier">multi_pass</span></code>.
</p>
<a name="spirit.support.multi_pass.inputpolicy"></a><h5>
-<a name="id1210022"></a>
+<a name="id1162741"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.inputpolicy">InputPolicy</a>
</h5>
<p>
@@ -838,7 +838,7 @@
constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
</p>
<a name="spirit.support.multi_pass.ownershippolicy"></a><h5>
-<a name="id1211311"></a>
+<a name="id1164862"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.ownershippolicy">OwnershipPolicy</a>
</h5>
<p>
@@ -905,7 +905,7 @@
constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
</p>
<a name="spirit.support.multi_pass.checkingpolicy"></a><h5>
-<a name="id1211845"></a>
+<a name="id1165396"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.checkingpolicy">CheckingPolicy</a>
</h5>
<p>
@@ -964,7 +964,7 @@
constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
</p>
<a name="spirit.support.multi_pass.storagepolicy"></a><h5>
-<a name="id1212297"></a>
+<a name="id1165848"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.storagepolicy">StoragePolicy</a>
</h5>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/what_s_new.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new.html 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.what_s_new"></a><a class="link" href="what_s_new.html" title="What's New">What's New</a>
</h2></div></div></div>
<a name="spirit.what_s_new.spirit_classic"></a><h4>
-<a name="id1076795"></a>
+<a name="id1021090"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.spirit_classic">Spirit Classic</a>
</h4>
<p>
@@ -66,11 +66,11 @@
for existing applications.
</p>
<a name="spirit.what_s_new.spirit_v2_1"></a><h4>
-<a name="id1076986"></a>
+<a name="id1021280"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.spirit_v2_1">Spirit V2.1</a>
</h4>
<a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0_to_2_x"></a><h4>
-<a name="id1076999"></a>
+<a name="id1021294"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0_to_2_x">What's
changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
from V2.0 to 2.x</a>
@@ -159,7 +159,7 @@
</li>
</ul></div>
<a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0_to_2_x"></a><h4>
-<a name="id1077551"></a>
+<a name="id1021846"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0_to_2_x">What's
changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.0 to 2.x</a>
</h4>
Modified: trunk/libs/spirit/doc/karma/concepts.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/concepts.qbk (original)
+++ trunk/libs/spirit/doc/karma/concepts.qbk 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -174,7 +174,10 @@
[heading Models]
-__fixme__ Add links to models of UnaryGenerator concept
+The following generators conform to this model: __karma_kleene__,
+__karma_plus__.
+
+__fixme__ Add more links to models of UnaryGenerator concept
[endsect] [/ UnaryGenerator Concept]
@@ -228,7 +231,9 @@
[heading Models]
-__fixme__ Add links to models of BinaryGenerator concept
+The following generators conform to this model: __karma_list__.
+
+__fixme__ Add more links to models of BinaryGenerator concept
[endsect] [/ BinaryGenerator Concept]
Modified: trunk/libs/spirit/doc/karma/operator.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/operator.qbk (original)
+++ trunk/libs/spirit/doc/karma/operator.qbk 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -56,7 +56,7 @@
output generated by its elements. That means that any failing sequence might
have already generated some output, which is /not/ rolled back.
-[tip The only compound generator performing buffering is
+[tip The only compound generator performing buffering is the
__karma_alternative__ generator. This allows to force a sequence to
behave as if it did buffering by wrapping it into an alternative:
@@ -72,7 +72,8 @@
[table
[[Expression] [Attribute]]
- [[sequence (`<<`)] [``a: A, b: B --> (a << b): tuple<A, B>
+ [[sequence (`<<`)]
+[``a: A, b: B --> (a << b): tuple<A, B>
a: A, b: Unused --> (a << b): A
a: Unused, b: B --> (a << b): B
a: Unused, b: Unused --> (a << b): Unused
@@ -100,7 +101,7 @@
[heading Complexity]
-[:The oveall complexity of the sequence generator is defined by the sum of the
+[:The overall complexity of the sequence generator is defined by the sum of the
complexities of its elements. The complexity of the sequence itself is O(N),
where N is the number of elements in the sequence.]
@@ -168,7 +169,8 @@
[table
[[Expression] [Attribute]]
- [[alternative (`|`)] [``a: A, b: B --> (a | b): variant<A, B>
+ [[alternative (`|`)]
+[``a: A, b: B --> (a | b): variant<A, B>
a: A, b: Unused --> (a | b): A
a: Unused, b: B --> (a | b): B
a: Unused, b: Unused --> (a | b): Unused
@@ -189,7 +191,7 @@
[heading Complexity]
-[:The oveall complexity of the alternative generator is defined by the sum of
+[:The overall complexity of the alternative generator is defined by the sum of
the complexities of its elements. The complexity of the alternative itself is
O(N), where N is the number of elements in the alternative.]
@@ -262,7 +264,8 @@
[table
[[Expression] [Attribute]]
- [[kleene (unary `*`)] [``a: A --> *a: vector<A>
+ [[kleene (unary `*`)]
+[``a: A --> *a: vector<A>
a: Unused --> *a: Unused``]]
]
@@ -283,7 +286,7 @@
element generator might have already generated some output, which is /not/
rolled back.
-[tip The only compound generator performing buffering is
+[tip The only compound generator performing buffering is the
__karma_alternative__ generator. This allows to force a Kleene star to
behave as if it did buffering by wrapping it into an alternative:
@@ -307,7 +310,7 @@
[heading Complexity]
-[:The oveall complexity of the Kleene star generator is defined by the
+[:The overall complexity of the Kleene star generator is defined by the
complexity of its embedded generator multiplied by the number of executed
iterations. The complexity of the Kleene star itself is O(N), where N is the
number of elements in the container passed as its attribute.]
@@ -363,16 +366,18 @@
depending on the availability of an attribute. The
execution of `a` stops after the attribute values
passed to the plus generator are exhausted.
- The plus succeeds as long as its embedded generator
- has been successfully executed at least once (except
- if the underlying output stream reports an error).]]
+ The plus generator succeeds as long as its embedded
+ generator has been successfully executed at least once
+ (except if the underlying output stream reports an
+ error).]]
]
[heading Attributes]
[table
[[Expression] [Attribute]]
- [[plus (unary `+`)] [``a: A --> +a: vector<A>
+ [[plus (unary `+`)]
+[``a: A --> +a: vector<A>
a: Unused --> +a: Unused``]]
]
@@ -387,14 +392,14 @@
iterations will not be larger than the number of elements in the container
passed as its attribute. An empty container will make the plus generator fail.
-It is important to note, that the plus does not perform any buffering
+It is important to note, that the plus generator does not perform any buffering
of the output generated by its embedded elements. That means that any failing
element generator might have already generated some output, which is /not/
rolled back.
-[tip The only compound generator performing buffering is
- __karma_alternative__ generator. This allows to force a plus to
- behave as if it did buffering by wrapping it into an alternative:
+[tip The only compound generator performing buffering is the
+ __karma_alternative__ generator. This allows to force a plus generator
+ to behave as if it did buffering by wrapping it into an alternative:
``+a | eps(false)``
@@ -416,10 +421,10 @@
[heading Complexity]
-[:The oveall complexity of the plus generator is defined by the
+[:The overall complexity of the plus generator is defined by the
complexity of its embedded generator multiplied by the number of executed
- iterations. The complexity of the plus itself is O(N), where N is the
- number of elements in the container passed as its attribute.]
+ iterations. The complexity of the plus generator itself is O(N), where N is
+ the number of elements in the container passed as its attribute.]
[heading Example]
@@ -447,23 +452,365 @@
[endsect]
[/////////////////////////////////////////////////////////////////////////////]
-[/section:list Lists (`operator%()`)]
+[section:list Lists (`operator%()`)]
+
+[heading Description]
+
+The list generator is used to repeat the execution of an embedded generator
+and interspace it with the output of anyother generator one or more times.
+It succeeds if the embedded generator has been successfully executed at least
+once.
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/operator/list.hpp>
+ #include <boost/spirit/include/karma_list.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__binary_generator_concept__]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is not
+defined in __binary_generator_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`a % b`] [The generator `a` is executed one or more times
+ depending on the availability of an attribute. The
+ output generated by `a` is interspaced with the output
+ generated by `b`. The list generator succeeds as long
+ as both its first embedded generator has been
+ successfully executed at least once (except if the
+ underlying output stream reports an error).]]
+]
+
+The list expression `a % b` is a shortcut for `a << *(b << a)`. It is almost
+semantically equivalent, except for the attribute of `b`, which gets ignored
+in the case of the list generator.
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[list (`%`)]
+[``a: A, b: B --> (a % b): vector<A>
+a: Unused, b: B --> (a % b): Unused``]]
+]
+
+[important The table above uses `vector<A>` as a placeholder only. The notation
+ of `vector<A>` stands for /any STL container/ holding elements of
+ type `A`.]
+
+The list generator will execute its embedded generator once for each
+element in the provided container attribute and as long as the embedded
+generator succeeds. The output generated by its first generator will be
+interspaced by the output generated by the second generator. On each iteration
+it will pass the next consecutive element from the container attribute to the
+first embedded generator. The second embedded generator does not get passed
+any attributes (it gets invoked using an `unused_type` as its attribute).
+Therefor the number of iterations will not be larger than the number of
+elements in the container passed as its attribute. An empty container will make
+the list generator fail.
+
+[tip If you want to use the list generator and still allow for an empty
+ attribute, you can use the optional operator (see __karma_optional__):
+
+ ``-(a % b)``
+
+ which will succeed even if the provided container attribute does not
+ contain any elements.
+]
+
+It is important to note, that the list generator does not perform any buffering
+of the output generated by its embedded elements. That means that any failing
+element generator might have already generated some output, which is /not/
+rolled back.
+
+[tip The only compound generator performing buffering is the
+ __karma_alternative__ generator. This allows to force a list generator
+ to behave as if it did buffering by wrapping it into an alternative:
+
+ ``(a % b) | eps(false)``
+
+ which will /not/ generate any output in case of a failing generator `a`.
+
+ Here is why: if the first alternative (our list generator) fails, the
+ alternative discards any accumulated output and tries the second
+ alternative, which will always fail; if the first alternative succeeds,
+ the __karma_eps__ generator is never executed.
+]
-[/endsect]
+[heading Complexity]
+
+[:The overall complexity of the list generator is defined by the
+ complexity of its embedded generators multiplied by the number of executed
+ iterations. The complexity of the list generator itself is O(N), where N is
+ the number of elements in the container passed as its attribute.]
+
+[heading Example]
+
+Some includes:
+
+[reference_karma_includes]
+
+All code snippets below use this common test function:
+
+[reference_karma_test_attr]
+
+Some using declarations:
+
+[reference_karma_using_declarations_list]
+
+Basic usage of a list generator:
+
+[reference_karma_list]
+
+[endsect]
[/////////////////////////////////////////////////////////////////////////////]
-[/section:optional Optionals (unary `operator-()`)]
+[section:optional Optional (unary `operator-()`)]
+
+[heading Description]
+
+The optional generator is used to conditionally execute an embedded generator.
+It succeeds always.
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/operator/optional.hpp>
+ #include <boost/spirit/include/karma_optional.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__unary_generator_concept__]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is not
+defined in __unary_generator_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`-a`] [The generator `a` is executed depending on the
+ availability of an attribute. The optional generator
+ succeeds as long as its embedded generator succeeds
+ (except if the underlying output stream reports an
+ error).]]
+]
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[optional (unary `-`)]
+[``a: A --> -a: optional<A>
+a: Unused --> -a: Unused``]]
+]
+
+[important The table above uses `optional<A>` as a placeholder only. The
+ notation of `optional<A>` stands for the data type
+ `boost::optional<A>`.]
+
+The optional generator will execute its embedded generator once if the provided
+attribute holds a valid value. It forwards the value contained in its attribute
+to the embedded generator.
+
+It is important to note, that the optional generator does not perform any
+buffering of the output generated by its embedded elements. That means that any
+failing element might have already generated some output, which is /not/
+rolled back.
+
+[tip The only compound generator performing buffering is the
+ __karma_alternative__ generator. This allows to force a optional
+ generator to behave as if it did buffering by wrapping it into an
+ alternative:
+
+ ``-a | eps(false)``
+
+ which will /not/ generate any output in case of a failing generator `a`.
+
+ Here is why: if the first alternative (our optional generator) fails,
+ the alternative discards any accumulated output and tries the second
+ alternative, which will always fail; if the first alternative succeeds,
+ the __karma_eps__ generator is never executed.
+]
+
+[heading Complexity]
-[/endsect]
+[:The overall complexity of the optional generator is defined by the
+ complexity of its embedded generator. The complexity of the optional
+ generator itself is O(1).]
+
+[heading Example]
+
+Some includes:
+
+[reference_karma_includes]
+
+All code snippets below use this common test function:
+
+[reference_karma_test_attr]
+
+Some using declarations:
+
+[reference_karma_using_declarations_optional]
+
+Basic usage of an optional generator:
+
+[reference_karma_optional1]
+
+Usage and result of an empty optional generator:
+
+[reference_karma_optional2]
+
+[endsect]
[/////////////////////////////////////////////////////////////////////////////]
-[/section:and_predicate And Predicate (unary `operator&()`)]
+[section:and_predicate And Predicate (unary `operator&()`)]
+
+[heading Description]
+
+The and predicate generator is used to test, whether the embedded generator
+succeeds without generating any output. It succeeds if the embedded generator
+succeeds.
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/operator/and_predicate.hpp>
+ #include <boost/spirit/include/karma_and_predicate.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__unary_generator_concept__]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is not
+defined in __unary_generator_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`&a`] [The generator `a` is executed for the sole purpose of
+ testing whether it succeeds. The and predicate
+ generator succeeds as long as its embedded generator
+ succeeds (except if the underlying output stream
+ reports an error). The and predicate never produces
+ any output.]]
+]
+
+The and generator is implemented by redirecting all output produced by its
+embedded generator into a discarding device.
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[and predicate (unary `&`)] [`a: A --> &a: Unused`]]
+]
+
+[heading Complexity]
+
+[:The overall complexity of the and predicate generator is defined by the
+ complexity of its embedded generator. The complexity of the and predicate
+ generator itself is O(1).]
+
+[heading Example]
+
+Some includes:
+
+[reference_karma_includes]
-[/endsect]
+All code snippets below use this common test function:
+
+[reference_karma_test]
+
+Some using declarations:
+
+[reference_karma_using_declarations_and_predicate]
+
+Basic usage of an and predicate generator:
+
+[reference_karma_and_predicate]
+
+[endsect]
[/////////////////////////////////////////////////////////////////////////////]
-[/section:not_predicate Not Predicate (unary `operator!()`)]
+[section:not_predicate Not Predicate (unary `operator!()`)]
+
+[heading Description]
+
+The not predicate generator is used to test, whether the embedded generator
+fails, without generating any output. It succeeds if the embedded generator
+fails.
+
+[heading Header]
-[/endsect]
+ // forwards to <boost/spirit/home/karma/operator/not_predicate.hpp>
+ #include <boost/spirit/include/karma_not_predicate.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__unary_generator_concept__]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is not
+defined in __unary_generator_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`!a`] [The generator `a` is executed for the sole purpose of
+ testing whether it succeeds. The not predicate
+ generator succeeds as long as its embedded generator
+ fails (except if the underlying output stream
+ reports an error). The not predicate never produces
+ any output.]]
+]
+
+The not generator is implemented by redirecting all output produced by its
+embedded generator into a discarding device.
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[not predicate (unary `!`)] [`a: A --> !a: Unused`]]
+]
+
+[heading Complexity]
+
+[:The overall complexity of the not predicate generator is defined by the
+ complexity of its embedded generator. The complexity of the not predicate
+ generator itself is O(1).]
+
+[heading Example]
+
+Some includes:
+
+[reference_karma_includes]
+
+All code snippets below use this common test function:
+
+[reference_karma_test_attr]
+
+Some using declarations:
+
+[reference_karma_using_declarations_not_predicate]
+
+Basic usage of a not predicate generator:
+
+[reference_karma_not_predicate]
+
+[endsect]
[endsect]
Modified: trunk/libs/spirit/doc/karma/quick_reference.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/quick_reference.qbk (original)
+++ trunk/libs/spirit/doc/karma/quick_reference.qbk 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -182,11 +182,11 @@
[[__karma_kleene__]
[``a: A --> *a: vector<A>
a: Unused --> *a: Unused``]]
- [[__karma_kleene__]
+ [[__karma_plus__]
[``a: A --> +a: vector<A>
a: Unused --> +a: Unused``]]
- [[list (`%`)]
+ [[__karma_list__]
[``a: A, b: B --> (a % b): vector<A>
a: Unused, b: B --> (a % b): Unused``]]
@@ -194,12 +194,12 @@
[``a: A --> repeat(...,...)[a]: vector<A>
a: Unused --> repeat(...,...)[a]: Unused``]]
- [[optional (unary `-`)]
+ [[__karma_optional__]
[``a: A --> -a: optional<A>
a: Unused --> -a: Unused``]]
- [[and predicate (`&`)] [`a: A --> &a: Unused`]]
- [[not predicate (`!`)] [`a: A --> !a: Unused`]]
+ [[__karma_and_predicate__] [`a: A --> &a: Unused`]]
+ [[__karma_not_predicate__] [`a: A --> !a: Unused`]]
]
[endsect]
Modified: trunk/libs/spirit/doc/qi/quick_reference.qbk
==============================================================================
--- trunk/libs/spirit/doc/qi/quick_reference.qbk (original)
+++ trunk/libs/spirit/doc/qi/quick_reference.qbk 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -219,22 +219,22 @@
a: Unused, b: Unused --> (a | b): Unused
a: A, b: A --> (a | b): A``]]
- [[difference (`-`)]
+ [[difference (`-`)]
[``a: A, b: B --> (a - b): A
a: Unused, b: B --> (a - b): Unused``]]
- [[kleene (unary `*`)]
+ [[kleene (unary `*`)]
[``a: A --> *a: vector<A>
a: Unused --> *a: Unused``]]
- [[plus (unary `+`)]
+ [[plus (unary `+`)]
[``a: A --> +a: vector<A>
a: Unused --> +a: Unused``]]
- [[list (`%`)]
+ [[list (`%`)]
[``a: A, b: B --> (a % b): vector<A>
a: Unused, b: B --> (a % b): Unused``]]
- [[repetition]
+ [[repetition]
[``a: A --> repeat(...,...)[a]: vector<A>
a: Unused --> repeat(...,...)[a]: Unused``]]
@@ -244,14 +244,14 @@
a: Unused, b: B --> (a || b): optional<B>
a: Unused, b: Unused --> (a || b): Unused``]]
- [[optional (unary `-`)]
+ [[optional (unary `-`)]
[``a: A --> -a: optional<A>
a: Unused --> -a: Unused``]]
[[and predicate (`&`)] [`a: A --> &a: Unused`]]
[[not predicate (`!`)] [`a: A --> !a: Unused`]]
-
- [[permutation (`^`)]
+
+ [[permutation (`^`)]
[``a: A, b: B --> (a ^ b): tuple<optional<A>, optional<B> >
a: A, b: Unused --> (a ^ b): optional<A>
a: Unused, b: B --> (a ^ b): optional<B>
Modified: trunk/libs/spirit/doc/spirit2.qbk
==============================================================================
--- trunk/libs/spirit/doc/spirit2.qbk (original)
+++ trunk/libs/spirit/doc/spirit2.qbk 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -141,6 +141,7 @@
[def __generator_concept__ [link spirit.karma.reference.generator_concepts.generator `Generator`]]
[def __primitive_generator_concept__ [link spirit.karma.reference.generator_concepts.primitivegenerator `PrimitiveGenerator`]]
[def __unary_generator_concept__ [link spirit.karma.reference.generator_concepts.unarygenerator `UnaryGenerator`]]
+[def __binary_generator_concept__ [link spirit.karma.reference.generator_concepts.binarygenerator `BinaryGenerator`]]
[def __nary_generator_concept__ [link spirit.karma.reference.generator_concepts.narygenerator `NaryGenerator`]]
[def __karma_lazy_argument__ [link spirit.karma.reference.karma_basics.lazy_argument Lazy Argument]]
@@ -154,7 +155,7 @@
[def __karma_kleene__ [link spirit.karma.reference.operator.kleene kleene (unary `*`)]]
[def __karma_plus__ [link spirit.karma.reference.operator.plus plus (unary `+`)]]
[def __karma_list__ [link spirit.karma.reference.operator.list list (`%`)]]
-[def __karma_optional__ [link spirit.karma.reference.operator.optional optional (`-`)]]
+[def __karma_optional__ [link spirit.karma.reference.operator.optional optional (unary `-`)]]
[def __karma_and_predicate__ [link spirit.karma.reference.operator.and_predicate and predicate (unary `&`)]]
[def __karma_not_predicate__ [link spirit.karma.reference.operator.not_predicate not predicate (unary `!`)]]
Modified: trunk/libs/spirit/example/karma/reference.cpp
==============================================================================
--- trunk/libs/spirit/example/karma/reference.cpp (original)
+++ trunk/libs/spirit/example/karma/reference.cpp 2009-08-02 18:51:46 EDT (Sun, 02 Aug 2009)
@@ -58,13 +58,138 @@
//[reference_karma_using_declarations_alternative
using boost::spirit::karma::generate;
using boost::spirit::karma::double_;
- using boost::spirit::karma::string;
+ using boost::spirit::karma::ascii::string;
//]
- //[reference_karma_alternative
- boost::variant<std::string, double> v(1.0);
- test_generator_attr("1.0", string | double_, v);
+ //[reference_karma_alternative1
+ boost::variant<std::string, double> v1(1.0);
+ test_generator_attr("1.0", string | double_, v1);
+ test_generator_attr("2.0", string | double_, 2.0);
+ //]
+
+ //[reference_karma_alternative2
+ boost::variant<std::string, double> v2("example");
+ test_generator_attr("example", string | double_, v2);
+ test_generator_attr("example", string | double_, "example");
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_kleene
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::space;
+ //]
+
+ //[reference_karma_kleene
+ std::vector<double> v;
+ v.push_back(1.0);
+ v.push_back(2.0);
+ v.push_back(3.0);
+ test_generator_attr("1.0 2.0 3.0 ", *double_, space, v);
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_plus
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::space;
+ //]
+
+ //[reference_karma_plus1
+ std::vector<double> v1;
+ v1.push_back(1.0);
+ v1.push_back(2.0);
+ v1.push_back(3.0);
+ test_generator_attr("1.0 2.0 3.0 ", +double_, space, v1);
+ //]
+
+ //[reference_karma_plus2
+ std::vector<double> v2; // empty container
+ test_generator_attr("empty", +double_ | "empty", v2);
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_list
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ //]
+
+ //[reference_karma_list
+ std::vector<double> v1;
+ v1.push_back(1.0);
+ test_generator_attr("1.0", double_ % ',', v1);
+
+ v1.push_back(2.0);
+ test_generator_attr("1.0,2.0", double_ % ',', v1);
//]
}
+
+ {
+ //[reference_karma_using_declarations_optional
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ //]
+
+ //[reference_karma_optional1
+ boost::optional<double> val(1.0);
+ test_generator_attr("1.0", -double_, val);
+ test_generator_attr("2.0", -double_, 2.0);
+ //]
+
+ //[reference_karma_optional2
+ boost::optional<double> val; // empty optional
+ test_generator_attr("", -double_, val);
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_and_predicate
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::ascii::string;
+ using boost::phoenix::ref;
+ //]
+
+ //[reference_karma_and_predicate
+ boost::variant<double, int, std::string> v(1.0);
+ test_generator("numeric: 1.0",
+ &((double_ | int_)[_1 = ref(v)]) << "numeric: " << double_
+ | &((string | eps(false))[_1 = ref(v)]) << "string: " << string
+ );
+
+ v = "example"
+ test_generator("string: example",
+ &((double_ | int_)[_1 = ref(v)]) << "numeric: " << double_
+ | &((string | eps(false))[_1 = ref(v)]) << "string: " << string
+ );
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_not_predicate
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::ascii::string;
+ using boost::phoenix::ref;
+ //]
+
+ //[reference_karma_not_predicate
+ boost::variant<double, int, std::string> v(1.0);
+ test_generator("not a string!",
+ !((double_ | int_)[_1 = ref(v)]) << "not numeric!"
+ | !((string | eps(false))[_1 = ref(v)]) << "not a string!"
+ );
+
+ v = "example"
+ test_generator("not numeric!",
+ !((double_ | int_)[_1 = ref(v)]) << "not numeric!"
+ | !((string | eps(false))[_1 = ref(v)]) << "not a string!"
+ );
+ //]
+ }
+
return 0;
}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk