Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55390 - in trunk/libs/spirit: doc doc/html doc/html/spirit doc/html/spirit/abstracts doc/html/spirit/karma 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/directive 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 example/karma test test/karma
From: hartmut.kaiser_at_[hidden]
Date: 2009-08-03 11:55:47


Author: hkaiser
Date: 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
New Revision: 55390
URL: http://svn.boost.org/trac/boost/changeset/55390

Log:
Spirit: documentation update, test cases added
Added:
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html (contents, props changed)
   trunk/libs/spirit/test/karma/buffer.cpp (contents, props changed)
   trunk/libs/spirit/test/karma/omit.cpp (contents, props changed)
Text files modified:
   trunk/libs/spirit/doc/html/index.html | 5
   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.html | 1
   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 | 2
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html | 21 ++++
   trunk/libs/spirit/doc/html/spirit/karma/reference.html | 1
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 2
   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 | 12 +-
   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 | 12 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html | 8
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 8
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html | 14 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html | 14 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html | 34 ++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html | 28 ++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html | 14 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html | 28 ++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html | 34 ++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html | 27 ++---
   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.qbk | 2
   trunk/libs/spirit/doc/karma/directive.qbk | 184 ++++++++++++++++++++++++++++++++++++++++
   trunk/libs/spirit/doc/karma/operator.qbk | 80 +++++-----------
   trunk/libs/spirit/doc/karma/quick_reference.qbk | 5
   trunk/libs/spirit/doc/spirit2.qbk | 3
   trunk/libs/spirit/example/karma/reference.cpp | 38 ++++++++
   trunk/libs/spirit/test/CMakeLists.txt | 2
   trunk/libs/spirit/test/Jamfile | 2
   trunk/libs/spirit/test/karma/and_predicate.cpp | 3
   trunk/libs/spirit/test/karma/optional.cpp | 9 +
   81 files changed, 632 insertions(+), 441 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-03 11:55:34 EDT (Mon, 03 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="id1020458"></a><p>
+<a name="id1049950"></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>
@@ -133,6 +133,7 @@
 <dt><span class="section"><a href="spirit/karma/reference/generator_concepts.html">Generator
         Concepts</a></span></dt>
 <dt><span class="section"> Basics</span></dt>
+<dt><span class="section">Directive</span></dt>
 <dt><span class="section">Operator</span></dt>
 <dt><span class="section">Auxiliary</span></dt>
 </dl></dd>
@@ -191,7 +192,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 22:45:54 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 03, 2009 at 15:44:23 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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -29,9 +29,9 @@
 </h3></div></div></div>
 <p>
         Parsing Expression Grammars (PEG)
- <sup>[<a name="id1029576" href="#ftn.id1029576" class="footnote">5</a>]</sup>
+ <sup>[<a name="id1059067" href="#ftn.id1059067" class="footnote">5</a>]</sup>
         are a derivative of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1029588" href="#ftn.id1029588" class="footnote">6</a>]</sup>
+ <sup>[<a name="id1059079" href="#ftn.id1059079" 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="id1029608"></a>
+<a name="id1059099"></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="id1029726"></a>
+<a name="id1059217"></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="id1029865"></a>
+<a name="id1059356"></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="id1030005"></a>
+<a name="id1059496"></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.id1029576" href="#id1029576" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1059067" href="#id1059067" 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.id1029588" href="#id1029588" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1059079" href="#id1059079" 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-03 11:55:34 EDT (Mon, 03 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="id1029148" href="#ftn.id1029148" class="footnote">2</a>]</sup>
+ <sup>[<a name="id1058640" href="#ftn.id1058640" class="footnote">2</a>]</sup>
         , a variant of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1029160" href="#ftn.id1029160" class="footnote">3</a>]</sup>
+ <sup>[<a name="id1058652" href="#ftn.id1058652" 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="id1029172" href="#ftn.id1029172" class="footnote">4</a>]</sup>
+ <sup>[<a name="id1058664" href="#ftn.id1058664" 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="id1029184"></a>
+<a name="id1058676"></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="id1029284"></a>
+<a name="id1058775"></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="id1029445"></a>
+<a name="id1058936"></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.id1029148" href="#id1029148" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1058640" href="#id1058640" 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.id1029160" href="#id1029160" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1058652" href="#id1058652" 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.id1029172" href="#id1029172" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1058664" href="#id1058664" 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-03 11:55:34 EDT (Mon, 03 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="id1168926"></a>
+<a name="id1203883"></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-03 11:55:34 EDT (Mon, 03 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="id1167406"></a>
+<a name="id1202037"></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="id1167576"></a>
+<a name="id1202207"></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="id1168086"></a>
+<a name="id1202717"></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="id1168168"></a>
+<a name="id1202799"></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-03 11:55:34 EDT (Mon, 03 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="id1025324" href="#ftn.id1025324" class="footnote">1</a>]</sup>
+ <sup>[<a name="id1054816" href="#ftn.id1054816" 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="id1025538"></a>
+<a name="id1055029"></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="id1026494"></a>
+<a name="id1055986"></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">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code>:
     </p>
 <div class="table">
-<a name="id1026835"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
+<a name="id1056326"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
 <div class="table-contents"><table class="table" summary="Different output formats for `std::vector&lt;int&gt;`">
 <colgroup>
 <col>
@@ -376,7 +376,7 @@
       next table gives some related examples.
     </p>
 <div class="table">
-<a name="id1028312"></a><p class="title"><b>Table 3. Different data types usable with the output format
+<a name="id1057803"></a><p class="title"><b>Table 3. Different data types usable with the output format
     `*(int_ &lt;&lt; eol)`</b></p>
 <div class="table-contents"><table class="table" summary="Different data types usable with the output format
     `*(int_ &lt;&lt; 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.id1025324" href="#id1025324" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1054816" href="#id1054816" 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.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -57,6 +57,7 @@
 <dt><span class="section"><a href="karma/reference/generator_concepts.html">Generator
         Concepts</a></span></dt>
 <dt><span class="section"> Basics</span></dt>
+<dt><span class="section">Directive</span></dt>
 <dt><span class="section">Operator</span></dt>
 <dt><span class="section">Auxiliary</span></dt>
 </dl></dd>

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-03 11:55:34 EDT (Mon, 03 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="id1130030"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
+<a name="id1164388"></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-03 11:55:34 EDT (Mon, 03 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="id1131560"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
+<a name="id1165918"></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-03 11:55:34 EDT (Mon, 03 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="id1128973"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
+<a name="id1163330"></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-03 11:55:34 EDT (Mon, 03 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">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>.
         </p>
 <div class="table">
-<a name="id1097827"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
+<a name="id1127386"></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>

Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -819,7 +819,7 @@
 <tr>
 <td>
                 <p>
- <code class="computeroutput"><span class="identifier">omit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
+ <a class="link" href="../reference/directive/omit.html" title="Consume Attribute (omit[])"><code class="computeroutput"><span class="identifier">omit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -837,6 +837,25 @@
 <tr>
 <td>
                 <p>
+ <a class="link" href="../reference/directive/buffer.html" title="Temporary Output Buffering (buffer[])"><code class="computeroutput"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">A</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Temporarily intercepts the output generated by <code class="computeroutput"><span class="identifier">a</span></code>,
+ flushing it only after <code class="computeroutput"><span class="identifier">a</span></code>
+ succeeded.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                   <code class="computeroutput"><span class="identifier">float_</span></code>
                 </p>
                 </td>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -30,6 +30,7 @@
 <dt><span class="section"><a href="reference/generator_concepts.html">Generator
         Concepts</a></span></dt>
 <dt><span class="section"> Basics</span></dt>
+<dt><span class="section">Directive</span></dt>
 <dt><span class="section">Operator</span></dt>
 <dt><span class="section">Auxiliary</span></dt>
 </dl></div>

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -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="id1124137"></a>
+<a name="id1158489"></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 &lt;boost/spirit/home/karma/auxiliary.hpp&gt;

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-03 11:55:34 EDT (Mon, 03 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="id1124213"></a>
+<a name="id1158564"></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="id1124271"></a>
+<a name="id1158622"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/eol.hpp&gt;
@@ -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="id1124345"></a>
+<a name="id1158696"></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="id1124383"></a>
+<a name="id1158735"></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="id1124472"></a>
+<a name="id1158966"></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="id1124550"></a>
+<a name="id1159044"></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="id1124578"></a>
+<a name="id1159072"></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-03 11:55:34 EDT (Mon, 03 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="id1124613"></a>
+<a name="id1159107"></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="id1124712"></a>
+<a name="id1159206"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/eps.hpp&gt;
@@ -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="id1124787"></a>
+<a name="id1159281"></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="id1124873"></a>
+<a name="id1159367"></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="id1125060"></a>
+<a name="id1159554"></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="id1125222"></a>
+<a name="id1159716"></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="id1125250"></a>
+<a name="id1159744"></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-03 11:55:34 EDT (Mon, 03 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="id1125274"></a>
+<a name="id1159768"></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="id1125298"></a>
+<a name="id1159792"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/lazy.hpp&gt;
@@ -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="id1125372"></a>
+<a name="id1159866"></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="id1125509"></a>
+<a name="id1160003"></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="id1127992"></a>
+<a name="id1160156"></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="id1128141"></a>
+<a name="id1160304"></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="id1128172"></a>
+<a name="id1160336"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
           </h6>
 </div>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Directive</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="../reference.html" title="Reference">
+<link rel="prev" href="karma_basics.html" title="Basics">
+<link rel="next" href="directive/buffer.html" title="Temporary Output Buffering (buffer[])">
+</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="karma_basics.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="directive/buffer.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Directive">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.karma.reference.directive"></a><a class="link" href="directive.html" title="Directive">Directive</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="directive/buffer.html"> Temporary
+ Output Buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>)</a></span></dt>
+<dt><span class="section"><a href="directive/omit.html"> Consume Attribute
+ (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>)</a></span></dt>
+</dl></div>
+<p>
+ This module includes different generator directives. It includes alignement
+ directives (<code class="computeroutput"><span class="identifier">left_align</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">center</span><span class="special">[]</span></code>, and <code class="computeroutput"><span class="identifier">right_align</span><span class="special">[]</span></code>), repetition (<code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code>), directives controlling automatic delimiting
+ (<code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code>
+ and <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code>),
+ controlling case sensitivity (<code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code>), field width (<code class="computeroutput"><span class="identifier">max_width</span><span class="special">[]</span></code>), buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>), and attribute handling (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>).
+ </p>
+<a name="spirit.karma.reference.directive.module_header"></a><h6>
+<a name="id1136214"></a>
+ <a class="link" href="directive.html#spirit.karma.reference.directive.module_header">Module Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive.hpp&gt;
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</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_directive</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="karma_basics.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="directive/buffer.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -0,0 +1,265 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Temporary Output Buffering (buffer[])</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="../directive.html" title="Directive">
+<link rel="prev" href="../directive.html" title="Directive">
+<link rel="next" href="omit.html" title="Consume Attribute (omit[])">
+</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="../directive.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.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="omit.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Temporary Output Buffering (buffer[])">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.directive.buffer"></a><a class="link" href="buffer.html" title="Temporary Output Buffering (buffer[])"> Temporary
+ Output Buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.directive.buffer.description"></a><h6>
+<a name="id1136301"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.description">Description</a>
+ </h6>
+<p>
+ All generator components (except the <a class="link" href="../operator/alternative.html" title="Alternatives (operator|())">alternative
+ (<code class="computeroutput"><span class="special">|</span></code>)</a> generator) pass
+ their generated output directly to the underlying output stream. If a
+ generator fails halfway through, the output generated so far is not 'rolled
+ back'. The buffering generator directive allows to avoid this unwanted
+ output to be generated. It temporarily redirects the output produced
+ by the embedded generator into a buffer. This buffer is flushed to the
+ underlying stream only after the embedded generator succeeded.
+ </p>
+<a name="spirit.karma.reference.directive.buffer.header"></a><h6>
+<a name="id1136330"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/buffer.hpp&gt;
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</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_buffer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.directive.buffer.model_of"></a><h6>
+<a name="id1136404"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.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.directive.buffer.expression_semantics"></a><h6>
+<a name="id1136442"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.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="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
+ is invoked but its output is temporarily intercepted and stored
+ in an internal buffer. If <code class="computeroutput"><span class="identifier">a</span></code>
+ succeeds the buffer content is flushed to the underlying output
+ stream, otherwise the buffer content is discarded. The buffer
+ directive succeeds always (except if the underlying output stream
+ reports an error).
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.directive.buffer.attributes"></a><h6>
+<a name="id1136556"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.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>
+ <code class="computeroutput"><span class="identifier">buffer</span><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">--&gt;</span> <span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">A</span>
+<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--&gt;</span> <span class="identifier">buffer</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>
+<a name="spirit.karma.reference.directive.buffer.complexity"></a><h6>
+<a name="id1136710"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ The overall complexity of the buffering generator directive is defined
+ by the complexity of its embedded generator. The complexity of the
+ buffering directive generator itself is O(1).
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.directive.buffer.example"></a><h6>
+<a name="id1136734"></a>
+ <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</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">&lt;</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">&gt;</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">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</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">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</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">&amp;&amp;</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">&lt;&lt;</span> <span class="string">"ok"</span> <span class="special">&lt;&lt;</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">&lt;&lt;</span> <span class="string">"fail"</span> <span class="special">&lt;&lt;</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">buffer</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of a buffering generator directive. It shows how the partial
+ output generated in the first example does not show up in the generated
+ output as the plus generator fails (no data is available, see <a class="link" href="../operator/plus.html" title="Plus (unary operator+())">plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>).
+ </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">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</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">""</span><span class="special">,</span> <span class="identifier">buffer</span><span class="special">[</span><span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="special">+</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">],</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="identifier">v</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="comment">// now, fill the container
+</span><span class="identifier">v</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.02.0]"</span><span class="special">,</span> <span class="identifier">buffer</span><span class="special">[</span><span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="special">+</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">],</span> <span class="identifier">v</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="../directive.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.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="omit.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -0,0 +1,286 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Consume Attribute (omit[])</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="../directive.html" title="Directive">
+<link rel="prev" href="buffer.html" title="Temporary Output Buffering (buffer[])">
+<link rel="next" href="../operator.html" title="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="buffer.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.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="../operator.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Consume Attribute (omit[])">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.directive.omit"></a><a class="link" href="omit.html" title="Consume Attribute (omit[])"> Consume Attribute
+ (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.directive.omit.description"></a><h6>
+<a name="id1137729"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.description">Description</a>
+ </h6>
+<p>
+ Consumes the attribute type of the embedded generator without generating
+ any output.
+ </p>
+<a name="spirit.karma.reference.directive.omit.header"></a><h6>
+<a name="id1137746"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/omit.hpp&gt;
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</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_omit</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.directive.omit.model_of"></a><h6>
+<a name="id1138253"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.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.directive.omit.expression_semantics"></a><h6>
+<a name="id1138291"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.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="identifier">omit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">omit</span></code> directive
+ consumes the attribute type of the embedded generator without
+ generating any output. It succeeds always.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.directive.omit.attributes"></a><h6>
+<a name="id1138398"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.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>
+ <code class="computeroutput"><span class="identifier">omit</span><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">--&gt;</span> <span class="identifier">omit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">A</span>
+<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--&gt;</span> <span class="identifier">omit</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>
+<a name="spirit.karma.reference.directive.omit.complexity"></a><h6>
+<a name="id1138552"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ The overall complexity of the <code class="computeroutput"><span class="identifier">omit</span></code>
+ generator directive is O(1) as it does not generate any output.
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.directive.omit.example"></a><h6>
+<a name="id1138583"></a>
+ <a class="link" href="omit.html#spirit.karma.reference.directive.omit.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</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">&lt;</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">&gt;</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">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</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">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</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">&amp;&amp;</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">&lt;&lt;</span> <span class="string">"ok"</span> <span class="special">&lt;&lt;</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">&lt;&lt;</span> <span class="string">"fail"</span> <span class="special">&lt;&lt;</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">buffer</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of a <code class="computeroutput"><span class="identifier">omit</span></code>
+ generator directive. It shows how it consumes the first element of the
+ provided attribute without generating anything, leaving the second element
+ of teh attribute to the non-wrapped <code class="computeroutput"><span class="identifier">double_</span></code>
+ generator.
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">p</span> <span class="special">(</span><span class="number">1.0</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">"2.0"</span><span class="special">,</span> <span class="identifier">omit</span><span class="special">[</span><span class="identifier">double_</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span><span class="special">,</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Generally, this directive is helpful in situations, where the attribute
+ type contains more information (elements) than need to be used to generate
+ the required output. Normally in such situations we would resolve to
+ use semantic actions to explicitly pass the correct parts of the overall
+ attribute to the generators. The <code class="computeroutput"><span class="identifier">omit</span></code>
+ directive helps achieving the same without having to use semantic actions.
+ </p>
+<p>
+ Consider the attribute type:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">attribute_type</span><span class="special">;</span>
+</pre>
+<p>
+ where we need to generate output only from the first and last element:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert</span><span class="special">:</span><span class="identifier">iterator</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">iterator_type</span><span class="special">;</span>
+
+<span class="identifier">karma</span><span class="special">::</span><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">iterator_type</span><span class="special">,</span> <span class="identifier">attribute_type</span><span class="special">()&gt;</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="identifier">r</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">phoenix</span><span class="special">::</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">)]</span> <span class="special">&lt;&lt;</span> <span class="identifier">string</span><span class="special">[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">at_c</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><span class="identifier">_val</span><span class="special">)];</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">;</span>
+<span class="identifier">iterator_type</span> <span class="identifier">sink</span><span class="special">(</span><span class="identifier">str</span><span class="special">);</span>
+<span class="identifier">generate</span><span class="special">(</span><span class="identifier">sink</span><span class="special">,</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">attribute_type</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="string">"example"</span><span class="special">));</span> <span class="comment">// will generate: '1example'
+</span></pre>
+<p>
+ This is error prone and not really readable. The same can be achieved
+ by using the <code class="computeroutput"><span class="identifier">omit</span></code> directive:
+ </p>
+<pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">int_</span> <span class="special">&lt;&lt;</span> <span class="identifier">omit</span><span class="special">[</span><span class="identifier">double_</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">string</span><span class="special">;</span>
+</pre>
+<p>
+ which is at the same time more readable and more efficient as we don't
+ have to use semantic actions.
+ </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="buffer.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.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="../operator.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

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-03 11:55:34 EDT (Mon, 03 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="id1104962"></a>
+<a name="id1134520"></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="id1105008"></a>
+<a name="id1134567"></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="id1105085"></a>
+<a name="id1134644"></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="id1105247"></a>
+<a name="id1134806"></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="id1105446"></a>
+<a name="id1135005"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -216,7 +216,7 @@
 </li>
 </ul></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.models"></a><h6>
-<a name="id1105583"></a>
+<a name="id1135142"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.models">Models</a>
           </h6>
 <p>

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-03 11:55:34 EDT (Mon, 03 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="id1101573"></a>
+<a name="id1131132"></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="id1101828"></a>
+<a name="id1131386"></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="id1103727"></a>
+<a name="id1133285"></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="id1103992"></a>
+<a name="id1133550"></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="id1104062"></a>
+<a name="id1133620"></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-03 11:55:34 EDT (Mon, 03 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="id1105632"></a>
+<a name="id1135191"></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="id1105664"></a>
+<a name="id1135222"></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="id1105740"></a>
+<a name="id1135299"></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="id1105860"></a>
+<a name="id1135628"></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="id1106236"></a>
+<a name="id1135794"></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">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</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="id1106321"></a>
+<a name="id1135880"></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-03 11:55:34 EDT (Mon, 03 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="id1104104"></a>
+<a name="id1133662"></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="id1104124"></a>
+<a name="id1133682"></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="id1104158"></a>
+<a name="id1133716"></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="id1104231"></a>
+<a name="id1133789"></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="id1104365"></a>
+<a name="id1133924"></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-03 11:55:34 EDT (Mon, 03 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="id1104430"></a>
+<a name="id1133988"></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="id1104450"></a>
+<a name="id1134009"></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="id1104527"></a>
+<a name="id1134086"></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="id1104642"></a>
+<a name="id1134201"></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="id1104808"></a>
+<a name="id1134366"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.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_generator</span><span class="special">&lt;</span><span class="identifier">G</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</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="id1104893"></a>
+<a name="id1134452"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.models">Models</a>
           </h6>
 <p>

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="generator_concepts/narygenerator.html" title="NaryGenerator">
-<link rel="next" href="operator.html" title="Operator">
+<link rel="next" href="directive.html" title="Directive">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,14 +20,14 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="generator_concepts/narygenerator.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="operator.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="generator_concepts/narygenerator.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="directive.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Basics">
 <div class="titlepage"><div><div><h4 class="title">
 <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="id1106386"></a>
+<a name="id1135944"></a>
           <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
           Argument</a>
         </h6>
@@ -63,7 +63,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="generator_concepts/narygenerator.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="operator.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="generator_concepts/narygenerator.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="directive.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-03 11:55:34 EDT (Mon, 03 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="karma_basics.html" title="Basics">
+<link rel="prev" href="directive/omit.html" title="Consume Attribute (omit[])">
 <link rel="next" href="operator/sequence.html" title="Sequences (operator&lt;&lt;())">
 </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="karma_basics.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="operator/sequence.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="directive/omit.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="operator/sequence.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Operator">
 <div class="titlepage"><div><div><h4 class="title">
@@ -54,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="id1106601"></a>
+<a name="id1139989"></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 &lt;boost/spirit/home/karma/operator.hpp&gt;
@@ -72,7 +72,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="karma_basics.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="operator/sequence.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="directive/omit.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="operator/sequence.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-03 11:55:34 EDT (Mon, 03 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="id1108670"></a>
+<a name="id1143681"></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="id1108687"></a>
+<a name="id1143698"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/alternative.hpp&gt;
@@ -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="id1108761"></a>
+<a name="id1143773"></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="id1108795"></a>
+<a name="id1143806"></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="id1108906"></a>
+<a name="id1143918"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -175,7 +175,7 @@
             an example of this behavior.
           </p>
 <a name="spirit.karma.reference.operator.alternative.complexity"></a><h6>
-<a name="id1109406"></a>
+<a name="id1144651"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -191,7 +191,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.alternative.example"></a><h6>
-<a name="id1109430"></a>
+<a name="id1144675"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -28,7 +28,7 @@
           Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.and_predicate.description"></a><h6>
-<a name="id1121010"></a>
+<a name="id1153744"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             succeeds.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.header"></a><h6>
-<a name="id1121030"></a>
+<a name="id1153763"></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 &lt;boost/spirit/home/karma/operator/and_predicate.hpp&gt;
@@ -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.and_predicate.model_of"></a><h6>
-<a name="id1121104"></a>
+<a name="id1153838"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.model_of">Model
             of</a>
           </h6>
@@ -61,7 +61,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.and_predicate.expression_semantics"></a><h6>
-<a name="id1121140"></a>
+<a name="id1153874"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -108,7 +108,7 @@
             its embedded generator into a discarding device.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.attributes"></a><h6>
-<a name="id1121258"></a>
+<a name="id1153977"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -144,7 +144,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.and_predicate.complexity"></a><h6>
-<a name="id1121371"></a>
+<a name="id1154090"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -159,7 +159,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.and_predicate.example"></a><h6>
-<a name="id1121397"></a>
+<a name="id1154116"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.example">Example</a>
           </h6>
 <p>

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-03 11:55:34 EDT (Mon, 03 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="id1112378"></a>
+<a name="id1145768"></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="id1112394"></a>
+<a name="id1145785"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/kleene.hpp&gt;
@@ -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="id1112469"></a>
+<a name="id1145859"></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="id1112507"></a>
+<a name="id1145897"></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="id1112614"></a>
+<a name="id1146004"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -176,45 +176,35 @@
 </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 Kleene star to behave as if it did buffering
- by wrapping it into an alternative:
+ The simplest way to force a Kleene star to behave as if it did buffering
+ is to wrap it into a buffering directive (see <a class="link" href="../directive/buffer.html" title="Temporary Output Buffering (buffer[])"><code class="computeroutput"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><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">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<pre class="programlisting"><span class="identifier">buffer</span><span class="special">[*</span><span class="identifier">a</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 Kleene star) 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>
-<p>
               The expression:
             </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>
+<pre class="programlisting"><span class="special">*(</span><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><span class="special">])</span></pre>
 <p>
             </p>
 <p>
               will not generate any partial output from a generator <code class="computeroutput"><span class="identifier">a</span></code> if it fails generating in the middle
- of its output. The overall expresion will still generate the output
+ of its output. The overall expression will still generate the output
               as produced by all succeeded invocations of the generator <code class="computeroutput"><span class="identifier">a</span></code>.
             </p>
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.kleene.complexity"></a><h6>
-<a name="id1112972"></a>
+<a name="id1146329"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -231,7 +221,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.kleene.example"></a><h6>
-<a name="id1112996"></a>
+<a name="id1146353"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -27,7 +27,7 @@
 <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 name="id1150579"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             at least once.
           </p>
 <a name="spirit.karma.reference.operator.list.header"></a><h6>
-<a name="id1116049"></a>
+<a name="id1150595"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/list.hpp&gt;
@@ -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.list.model_of"></a><h6>
-<a name="id1116124"></a>
+<a name="id1150670"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.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.list.expression_semantics"></a><h6>
-<a name="id1116162"></a>
+<a name="id1150708"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -113,7 +113,7 @@
             the list generator.
           </p>
 <a name="spirit.karma.reference.operator.list.attributes"></a><h6>
-<a name="id1116343"></a>
+<a name="id1150889"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -210,31 +210,23 @@
 </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:
+ The simplest way to force a list generator to behave as if it did buffering
+ is to wrap it into a buffering directive (see <a class="link" href="../directive/buffer.html" title="Temporary Output Buffering (buffer[])"><code class="computeroutput"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><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> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<pre class="programlisting"><span class="identifier">buffer</span><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 <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 name="id1151291"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -250,7 +242,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.list.example"></a><h6>
-<a name="id1116792"></a>
+<a name="id1151315"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -28,7 +28,7 @@
           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 name="id1156930"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             fails.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.header"></a><h6>
-<a name="id1122585"></a>
+<a name="id1156949"></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 &lt;boost/spirit/home/karma/operator/not_predicate.hpp&gt;
@@ -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.not_predicate.model_of"></a><h6>
-<a name="id1122660"></a>
+<a name="id1157023"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.model_of">Model
             of</a>
           </h6>
@@ -61,7 +61,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.not_predicate.expression_semantics"></a><h6>
-<a name="id1122696"></a>
+<a name="id1157059"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -108,7 +108,7 @@
             its embedded generator into a discarding device.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.attributes"></a><h6>
-<a name="id1122799"></a>
+<a name="id1157163"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -144,7 +144,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.not_predicate.complexity"></a><h6>
-<a name="id1122912"></a>
+<a name="id1157275"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -159,7 +159,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.not_predicate.example"></a><h6>
-<a name="id1122938"></a>
+<a name="id1157302"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html 2009-08-03 11:55:34 EDT (Mon, 03 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.optional.description"></a><h6>
-<a name="id1119504"></a>
+<a name="id1152217"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             It succeeds always.
           </p>
 <a name="spirit.karma.reference.operator.optional.header"></a><h6>
-<a name="id1119521"></a>
+<a name="id1152233"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/optional.hpp&gt;
@@ -46,7 +46,7 @@
             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 name="id1152308"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.model_of">Model
             of</a>
           </h6>
@@ -60,7 +60,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.optional.expression_semantics"></a><h6>
-<a name="id1119634"></a>
+<a name="id1152346"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -102,7 +102,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.optional.attributes"></a><h6>
-<a name="id1119734"></a>
+<a name="id1152446"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -168,31 +168,23 @@
 </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:
+ The simplest way to force a optional generator to behave as if it did
+ buffering is to wrap it into a buffering directive (see <a class="link" href="../directive/buffer.html" title="Temporary Output Buffering (buffer[])"><code class="computeroutput"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><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">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<pre class="programlisting"><span class="identifier">buffer</span><span class="special">[-</span><span class="identifier">a</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 name="id1152782"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -207,7 +199,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.optional.example"></a><h6>
-<a name="id1120072"></a>
+<a name="id1152806"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.example">Example</a>
           </h6>
 <p>

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-03 11:55:34 EDT (Mon, 03 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.plus.description"></a><h6>
-<a name="id1113915"></a>
+<a name="id1148952"></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="id1113932"></a>
+<a name="id1148969"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/plus.hpp&gt;
@@ -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="id1114006"></a>
+<a name="id1149044"></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="id1114044"></a>
+<a name="id1149082"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -105,7 +105,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.plus.attributes"></a><h6>
-<a name="id1114151"></a>
+<a name="id1149189"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -176,45 +176,35 @@
 </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 plus generator to behave as if it did buffering
- by wrapping it into an alternative:
+ The simplest way to force a plus generator to behave as if it did buffering
+ is to wrap it into a buffering directive (see <a class="link" href="../directive/buffer.html" title="Temporary Output Buffering (buffer[])"><code class="computeroutput"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><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">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<pre class="programlisting"><span class="identifier">buffer</span><span class="special">[+</span><span class="identifier">a</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 plus 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>
-<p>
               The expression:
             </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>
+<pre class="programlisting"><span class="special">+(</span><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><span class="special">])</span></pre>
 <p>
             </p>
 <p>
               will not generate any partial output from a generator <code class="computeroutput"><span class="identifier">a</span></code> if it fails generating in the middle
- of its output. The overall expresion will still generate the output
+ of its output. The overall expression will still generate the output
               as produced by all succeeded invocations of the generator <code class="computeroutput"><span class="identifier">a</span></code>.
             </p>
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.plus.complexity"></a><h6>
-<a name="id1114995"></a>
+<a name="id1149514"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -230,7 +220,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.plus.example"></a><h6>
-<a name="id1115019"></a>
+<a name="id1149538"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.example">Example</a>
           </h6>
 <p>

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;()</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.sequence.description"></a><h6>
-<a name="id1106687"></a>
+<a name="id1140076"></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="id1106704"></a>
+<a name="id1140092"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/sequence.hpp&gt;
@@ -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="id1106778"></a>
+<a name="id1140167"></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="id1106814"></a>
+<a name="id1140203"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -117,28 +117,23 @@
 </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 sequence to behave as if it did buffering by
- wrapping it into an alternative:
+ The simplest way to force a sequence to behave as if it did buffering
+ is to wrap it into a buffering directive (see <a class="link" href="../directive/buffer.html" title="Temporary Output Buffering (buffer[])"><code class="computeroutput"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>):
             </p>
 <p>
               
 </p>
-<pre class="programlisting"><span class="identifier">a</span> <span class="special">&lt;&lt;</span> <span class="identifier">b</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span></pre>
+<pre class="programlisting"><span class="identifier">buffer</span><span class="special">[</span><span class="identifier">a</span> <span class="special">&lt;&lt;</span> <span class="identifier">b</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</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 sequence. Here is why: if the first alternative (our sequence)
- 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.
+ a failing sequence.
             </p>
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.sequence.attributes"></a><h6>
-<a name="id1107018"></a>
+<a name="id1142046"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -211,7 +206,7 @@
             the attribute supplied
           </p>
 <a name="spirit.karma.reference.operator.sequence.complexity"></a><h6>
-<a name="id1107816"></a>
+<a name="id1142844"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote">
@@ -226,7 +221,7 @@
             </p>
 </blockquote></div>
 <a name="spirit.karma.reference.operator.sequence.example"></a><h6>
-<a name="id1107840"></a>
+<a name="id1142868"></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-03 11:55:34 EDT (Mon, 03 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="id1087670"></a>
+<a name="id1117161"></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="id1087864"></a>
+<a name="id1117355"></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="id1088208"></a>
+<a name="id1117700"></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="id1088627"></a>
+<a name="id1118118"></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="id1091620"></a>
+<a name="id1121111"></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-03 11:55:34 EDT (Mon, 03 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="id1082282"></a>
+<a name="id1111773"></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-03 11:55:34 EDT (Mon, 03 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="id1085241"></a>
+<a name="id1114732"></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-03 11:55:34 EDT (Mon, 03 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="id1082408"></a>
+<a name="id1111899"></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="id1082451"></a>
+<a name="id1111942"></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="id1082536"></a>
+<a name="id1112027"></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="id1082584"></a>
+<a name="id1112075"></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="id1082719"></a>
+<a name="id1112210"></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-03 11:55:34 EDT (Mon, 03 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="id1144043"></a>
+<a name="id1179643"></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="id1144568"></a>
+<a name="id1180169"></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="id1145999"></a>
+<a name="id1180424"></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">&lt;&gt;</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-03 11:55:34 EDT (Mon, 03 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="id1151143"></a>
+<a name="id1186076"></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="id1151163"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
+<a name="id1186097"></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="id1151681"></a>
+<a name="id1186615"></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="id1151704"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
+<a name="id1186638"></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="id1151983"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
+<a name="id1186916"></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-03 11:55:34 EDT (Mon, 03 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="id1155690"></a>
+<a name="id1189816"></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="id1155703"></a>
+<a name="id1189829"></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="id1155716"></a>
+<a name="id1189843"></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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -176,7 +176,7 @@
 <p>
         </p>
 <a name="spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer"></a><h6>
-<a name="id1153493"></a>
+<a name="id1188489"></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="id1153820"></a>
+<a name="id1188817"></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-03 11:55:34 EDT (Mon, 03 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="id1146526"></a>
+<a name="id1180951"></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="id1150521"></a>
+<a name="id1183401"></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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -56,7 +56,7 @@
         </li>
 </ul></div>
 <a name="spirit.lex.lexer_introduction.why_use_a_separate_lexer_"></a><h5>
-<a name="id1131913"></a>
+<a name="id1166271"></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="id1132122"></a>
+<a name="id1166480"></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="id1132225"></a>
+<a name="id1166583"></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-03 11:55:34 EDT (Mon, 03 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="id1155768"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
+<a name="id1189894"></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="id1157346"></a>
+<a name="id1191568"></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="id1158549"></a>
+<a name="id1191671"></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-03 11:55:34 EDT (Mon, 03 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="id1158671"></a>
+<a name="id1191794"></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="id1158685"></a>
+<a name="id1191807"></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="id1158698"></a>
+<a name="id1191820"></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="id1158711"></a>
+<a name="id1191833"></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-03 11:55:34 EDT (Mon, 03 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="id1134230"></a>
+<a name="id1166852"></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="id1134474"></a>
+<a name="id1167097"></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="id1134783"></a>
+<a name="id1167405"></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="id1135282"></a>
+<a name="id1168042"></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="id1136109"></a>
+<a name="id1168869"></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-03 11:55:34 EDT (Mon, 03 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="id1136925"></a>
+<a name="id1169644"></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="id1137574"></a>
+<a name="id1172324"></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="id1138192"></a>
+<a name="id1172942"></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="id1138498"></a>
+<a name="id1173230"></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-03 11:55:34 EDT (Mon, 03 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="id1139473"></a>
+<a name="id1174224"></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="id1139904"></a>
+<a name="id1174654"></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="id1140241"></a>
+<a name="id1174992"></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="id1143058"></a>
+<a name="id1175845"></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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -41,11 +41,11 @@
       </p>
 </blockquote></div>
 <a name="spirit.preface.history"></a><h4>
-<a name="id1020509"></a>
+<a name="id1050000"></a>
       <a class="link" href="preface.html#spirit.preface.history">History</a>
     </h4>
 <a name="spirit.preface._emphasis_80s__emphasis_"></a><h4>
-<a name="id1020522"></a>
+<a name="id1050013"></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="id1020540"></a>
+<a name="id1050031"></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="id1020582"></a>
+<a name="id1050073"></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="id1020617"></a>
+<a name="id1050108"></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="id1020692"></a>
+<a name="id1050184"></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="id1020743"></a>
+<a name="id1050234"></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="id1020796"></a><p class="title"><b>Table 1. Icons</b></p>
+<a name="id1050287"></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="id1021037"></a>
+<a name="id1050528"></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-03 11:55:34 EDT (Mon, 03 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">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>.
         </p>
 <div class="table">
-<a name="id1059859"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
+<a name="id1089350"></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-03 11:55:34 EDT (Mon, 03 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="id1070627"></a>
+<a name="id1100118"></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 &lt;boost/spirit/home/qi/auxiliary.hpp&gt;

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -31,7 +31,7 @@
               consuming any input
             </li></ul></div>
 <a name="spirit.qi.reference.auxiliary.attr.description"></a><h6>
-<a name="id1070732"></a>
+<a name="id1100223"></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="id1070763"></a>
+<a name="id1100254"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/attr.hpp&gt;
@@ -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="id1070837"></a>
+<a name="id1100328"></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="id1070919"></a>
+<a name="id1100410"></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="id1071078"></a>
+<a name="id1100570"></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="id1072385"></a>
+<a name="id1101876"></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="id1072412"></a>
+<a name="id1101904"></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-03 11:55:34 EDT (Mon, 03 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="id1070256"></a>
+<a name="id1099748"></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="id1070393"></a>
+<a name="id1099884"></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-03 11:55:34 EDT (Mon, 03 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="id1073464"></a>
+<a name="id1102955"></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 &lt;boost/spirit/home/qi/directive.hpp&gt;

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-03 11:55:34 EDT (Mon, 03 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="id1073568"></a>
+<a name="id1103059"></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="id1073596"></a>
+<a name="id1103087"></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 &lt;boost/spirit/home/qi/directive/no_case.hpp&gt;
@@ -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="id1073670"></a>
+<a name="id1103161"></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="id1073732"></a>
+<a name="id1103224"></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="id1074038"></a>
+<a name="id1103530"></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="id1074127"></a>
+<a name="id1103618"></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="id1074151"></a>
+<a name="id1103642"></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-03 11:55:34 EDT (Mon, 03 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="id1069061"></a>
+<a name="id1098552"></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="id1069113"></a>
+<a name="id1098604"></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="id1069192"></a>
+<a name="id1098683"></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="id1069353"></a>
+<a name="id1098844"></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="id1069554"></a>
+<a name="id1099046"></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="id1069694"></a>
+<a name="id1099185"></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-03 11:55:34 EDT (Mon, 03 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="id1069728"></a>
+<a name="id1099220"></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="id1069764"></a>
+<a name="id1099256"></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="id1069844"></a>
+<a name="id1099335"></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="id1069966"></a>
+<a name="id1099457"></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="id1070138"></a>
+<a name="id1099629"></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">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</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="id1070223"></a>
+<a name="id1099714"></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-03 11:55:34 EDT (Mon, 03 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="id1067263"></a>
+<a name="id1096755"></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="id1067526"></a>
+<a name="id1097017"></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="id1067794"></a>
+<a name="id1097285"></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="id1067992"></a>
+<a name="id1097483"></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="id1068119"></a>
+<a name="id1097610"></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-03 11:55:34 EDT (Mon, 03 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="id1068154"></a>
+<a name="id1097645"></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="id1068177"></a>
+<a name="id1097668"></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="id1068213"></a>
+<a name="id1097704"></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="id1068304"></a>
+<a name="id1097795"></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="id1068441"></a>
+<a name="id1097932"></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-03 11:55:34 EDT (Mon, 03 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="id1068481"></a>
+<a name="id1097973"></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="id1068507"></a>
+<a name="id1097998"></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="id1068586"></a>
+<a name="id1098077"></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="id1068700"></a>
+<a name="id1098191"></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="id1068868"></a>
+<a name="id1098359"></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">&lt;</span><span class="identifier">P</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</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="id1069026"></a>
+<a name="id1098518"></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-03 11:55:34 EDT (Mon, 03 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="id1075262"></a>
+<a name="id1104753"></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 &lt;boost/spirit/home/qi/string.hpp&gt;

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -39,7 +39,7 @@
             </li>
 </ul></div>
 <a name="spirit.qi.reference.string.lit_string.description"></a><h6>
-<a name="id1075425"></a>
+<a name="id1104916"></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="id1075449"></a>
+<a name="id1104940"></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 &lt;boost/spirit/home/qi/string/lit.hpp&gt;
@@ -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="id1075523"></a>
+<a name="id1105014"></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="id1075659"></a>
+<a name="id1105150"></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="id1076009"></a>
+<a name="id1105500"></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="id1076435"></a>
+<a name="id1105926"></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="id1076470"></a>
+<a name="id1105961"></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-03 11:55:34 EDT (Mon, 03 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="id1078742"></a>
+<a name="id1108234"></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="id1078777"></a>
+<a name="id1108268"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string/symbols.hpp&gt;
@@ -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="id1078852"></a>
+<a name="id1108343"></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">&lt;</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">&gt;</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="id1078916"></a>
+<a name="id1108408"></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="id1079044"></a>
+<a name="id1108535"></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="id1079346"></a>
+<a name="id1108837"></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="id1080957"></a>
+<a name="id1110448"></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">&lt;</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</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="id1081007"></a>
+<a name="id1110499"></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-03 11:55:34 EDT (Mon, 03 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="id1044300"></a>
+<a name="id1073791"></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">&gt;&gt;</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">&gt;&gt;</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="id1044412"></a>
+<a name="id1073904"></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="id1044520"></a>
+<a name="id1074012"></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">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute"></a><h6>
-<a name="id1044646"></a>
+<a name="id1074138"></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="id1044868"></a>
+<a name="id1074360"></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">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.auto_rules"></a><h6>
-<a name="id1045107"></a>
+<a name="id1074598"></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="id1045426"></a>
+<a name="id1074918"></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-03 11:55:34 EDT (Mon, 03 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="id1046079"></a>
+<a name="id1075570"></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="id1047260"></a>
+<a name="id1076751"></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">&lt;</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">&gt;</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="id1047587"></a>
+<a name="id1077078"></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="id1047742"></a>
+<a name="id1077233"></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="id1049584"></a>
+<a name="id1079075"></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="id1049915"></a>
+<a name="id1079406"></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="id1050211"></a>
+<a name="id1079702"></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="id1050407"></a>
+<a name="id1079898"></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="id1050587"></a>
+<a name="id1080078"></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="id1050727"></a>
+<a name="id1080218"></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="id1051643"></a>
+<a name="id1081134"></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-03 11:55:34 EDT (Mon, 03 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="id1052637"></a>
+<a name="id1082128"></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="id1052817"></a>
+<a name="id1082308"></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="id1053326"></a>
+<a name="id1082817"></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-03 11:55:34 EDT (Mon, 03 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="id1030089"></a>
+<a name="id1059580"></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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -41,7 +41,7 @@
           </li>
 </ul></div>
 <a name="spirit.qi.tutorials.roman_numerals.symbol_table"></a><h6>
-<a name="id1038187"></a>
+<a name="id1067678"></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="id1040260"></a>
+<a name="id1069751"></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">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.tutorials.roman_numerals.grammars"></a><h6>
-<a name="id1040652"></a>
+<a name="id1070143"></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="id1041379"></a>
+<a name="id1070870"></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-03 11:55:34 EDT (Mon, 03 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="id1032758"></a>
+<a name="id1062249"></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-03 11:55:34 EDT (Mon, 03 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="id1030135"></a>
+<a name="id1059626"></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="id1030164"></a>
+<a name="id1059655"></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="id1030704"></a>
+<a name="id1060195"></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="id1030748"></a>
+<a name="id1060239"></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="id1030879"></a>
+<a name="id1060370"></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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -61,7 +61,7 @@
         iterator was created.
       </p>
 <a name="spirit.support.multi_pass.using_the_multi_pass"></a><h5>
-<a name="id1158862"></a>
+<a name="id1191984"></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="id1160131"></a>
+<a name="id1194439"></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="id1160224"></a>
+<a name="id1194533"></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="id1160330"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
+<a name="id1194638"></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="id1160522"></a>
+<a name="id1194830"></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="id1160564"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
+<a name="id1194872"></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="id1161525"></a>
+<a name="id1195537"></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">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span></code>.
       </p>
 <a name="spirit.support.multi_pass.dealing_with_constant_look_ahead"></a><h5>
-<a name="id1161948"></a>
+<a name="id1195960"></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="id1162080"></a>
+<a name="id1196792"></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="id1162667"></a>
+<a name="id1197379"></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="id1162741"></a>
+<a name="id1197453"></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="id1164862"></a>
+<a name="id1198333"></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="id1165396"></a>
+<a name="id1198867"></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="id1165848"></a>
+<a name="id1201094"></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-03 11:55:34 EDT (Mon, 03 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="id1021090"></a>
+<a name="id1050581"></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="id1021280"></a>
+<a name="id1050772"></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="id1021294"></a>
+<a name="id1050785"></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="id1021846"></a>
+<a name="id1051337"></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.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma.qbk (original)
+++ trunk/libs/spirit/doc/karma.qbk 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -27,7 +27,7 @@
 [/include karma/string.qbk]
 [/include karma/numeric.qbk]
 [/include karma/binary.qbk]
-[/include karma/directive.qbk]
+[include karma/directive.qbk]
 [/include karma/action.qbk]
 [/include karma/nonterminal.qbk]
 [include karma/operator.qbk]

Modified: trunk/libs/spirit/doc/karma/directive.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/directive.qbk (original)
+++ trunk/libs/spirit/doc/karma/directive.qbk 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -8,6 +8,190 @@
 
 [section Directive]
 
+This module includes different generator directives. It includes alignement
+directives (`left_align[]`, `center[]`, and `right_align[]`), repetition
+(`repeat[]`), directives controlling automatic delimiting (`verbatim[]` and
+`delimit[]`), controlling case sensitivity (`upper[]` and `lower[]`), field
+width (`max_width[]`), buffering (`buffer[]`), and attribute handling
+(`omit[]`).
 
+[heading Module Header]
+
+ // forwards to <boost/spirit/home/karma/directive.hpp>
+ #include <boost/spirit/include/karma_directive.hpp>
+
+[/////////////////////////////////////////////////////////////////////////////]
+[section:buffer Temporary Output Buffering (`buffer[]`)]
+
+[heading Description]
+
+All generator components (except the __karma_alternative__ generator) pass
+their generated output directly to the underlying output stream. If a generator
+fails halfway through, the output generated so far is not 'rolled back'. The
+buffering generator directive allows to avoid this unwanted output to be
+generated. It temporarily redirects the output produced by the embedded
+generator into a buffer. This buffer is flushed to the underlying stream only
+after the embedded generator succeeded.
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/directive/buffer.hpp>
+ #include <boost/spirit/include/karma_buffer.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]]
+ [[`buffer[a]`] [The embedded generator `a` is invoked but its output
+ is temporarily intercepted and stored in an internal
+ buffer. If `a` succeeds the buffer content is flushed
+ to the underlying output stream, otherwise the buffer
+ content is discarded. The buffer directive succeeds
+ always (except if the underlying output stream reports
+ an error).]]
+]
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[`buffer[]`]
+[``a: A --> buffer[a]: A
+a: Unused --> buffer[a]: Unused``]]
+]
+
+[heading Complexity]
+
+[:The overall complexity of the buffering generator directive is defined by the
+ complexity of its embedded generator. The complexity of the buffering
+ directive 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_buffer]
+
+Basic usage of a buffering generator directive. It shows how the partial
+output generated in the first example does not show up in the generated output
+as the plus generator fails (no data is available, see __karma_plus__).
+
+[reference_karma_buffer]
+
+[endsect]
+
+[/////////////////////////////////////////////////////////////////////////////]
+[section:omit Consume Attribute (`omit[]`)]
+
+[heading Description]
+
+Consumes the attribute type of the embedded generator without generating
+any output.
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/directive/omit.hpp>
+ #include <boost/spirit/include/karma_omit.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]]
+ [[`omit[a]`] [The `omit` directive consumes the attribute type of the
+ embedded generator without generating any output. It
+ succeeds always.]]
+]
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[`omit[]`]
+[``a: A --> omit[a]: A
+a: Unused --> omit[a]: Unused``]]
+]
+
+[heading Complexity]
+
+[:The overall complexity of the `omit` generator directive is O(1) as it does
+ not generate any output.]
+
+[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_omit]
+
+Basic usage of a `omit` generator directive. It shows how it consumes the first
+element of the provided attribute without generating anything, leaving the
+second element of teh attribute to the non-wrapped `double_` generator.
+
+[reference_karma_omit]
+
+Generally, this directive is helpful in situations, where the attribute type
+contains more information (elements) than need to be used to generate the
+required output. Normally in such situations we would resolve to use semantic
+actions to explicitly pass the correct parts of the overall attribute to the
+generators. The `omit` directive helps achieving the same without having to use
+semantic actions.
+
+Consider the attribute type:
+
+ typedef fusion::vector<int, double, std::string> attribute_type;
+
+where we need to generate output only from the first and last element:
+
+ typedef std::back_insert:iterator<std::string> iterator_type;
+
+ karma::rule<iterator_type, attribute_type()> r;
+ r = int_[_1 = phoenix::at_c<0>(_val)] << string[_1 = phoenix::at_c<2>(_val)];
+
+ std::string str;
+ iterator_type sink(str);
+ generate(sink, r, attribute_type(1, 2.0, "example")); // will generate: '1example'
+
+This is error prone and not really readable. The same can be achieved by using
+the `omit` directive:
+
+ r = int_ << omit[double_] << string;
+
+which is at the same time more readable and more efficient as we don't have to
+use semantic actions.
+
+[endsect]
 
 [endsect]

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -56,17 +56,12 @@
 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 the
- __karma_alternative__ generator. This allows to force a sequence to
- behave as if it did buffering by wrapping it into an alternative:
-
- ``a << b << c | eps(false)``
-
- which will /not/ generate any output in case of a failing sequence.
- Here is why: if the first alternative (our sequence) 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.]
+[tip The simplest way to force a sequence to behave as if it did buffering
+ is to wrap it into a buffering directive (see __karma_buffer__):
+
+ ``buffer[a << b << c]``
+
+ which will /not/ generate any output in case of a failing sequence.]
 
 [heading Attributes]
 
@@ -286,25 +281,19 @@
 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 Kleene star to
- behave as if it did buffering by wrapping it into an alternative:
+[tip The simplest way to force a Kleene star to behave as if it did
+ buffering is to wrap it into a buffering directive (see
+ __karma_buffer__):
 
- ``*a | eps(false)``
+ ``buffer[*a]``
 
         which will /not/ generate any output in case of a failing generator `a`.
-
- Here is why: if the first alternative (our Kleene star) 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.
-
         The expression:
 
- ``*(a | eps(false))``
+ ``*(buffer[a])``
 
         will not generate any partial output from a generator `a` if it fails
- generating in the middle of its output. The overall expresion will
+ generating in the middle of its output. The overall expression will
         still generate the output as produced by all succeeded invocations of
         the generator `a`.]
 
@@ -397,25 +386,19 @@
 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 plus generator
- to behave as if it did buffering by wrapping it into an alternative:
+[tip The simplest way to force a plus generator to behave as if it did
+ buffering is to wrap it into a buffering directive (see
+ __karma_buffer__):
 
- ``+a | eps(false)``
+ ``buffer[+a]``
 
         which will /not/ generate any output in case of a failing generator `a`.
-
- Here is why: if the first alternative (our plus 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.
-
         The expression:
 
- ``+(a | eps(false))``
+ ``+(buffer[a])``
 
         will not generate any partial output from a generator `a` if it fails
- generating in the middle of its output. The overall expresion will
+ generating in the middle of its output. The overall expression will
         still generate the output as produced by all succeeded invocations of
         the generator `a`.]
 
@@ -530,18 +513,13 @@
 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:
+[tip The simplest way to force a list generator to behave as if it did
+ buffering is to wrap it into a buffering directive (see
+ __karma_buffer__):
 
- ``(a % b) | eps(false)``
+ ``buffer[a % b]``
 
         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.
 ]
 
 [heading Complexity]
@@ -626,19 +604,13 @@
 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:
+[tip The simplest way to force a optional generator to behave as if it did
+ buffering is to wrap it into a buffering directive (see
+ __karma_buffer__):
 
- ``-a | eps(false)``
+ ``buffer[-a]``
 
         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]

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -115,7 +115,10 @@
     [[`delimit[a]`] [`A`] [Reestablish the delimiter that got inhibited by verbatim]]
     [[`delimit(g)[a]`] [`A`] [Use `g` as a skipper for generating `a`]]
 
- [[`omit[a]`] [`A`] [Consumes the attribute type of `a` without generating anything]]
+ [[__karma_omit__] [`A`] [Consumes the attribute type of `a` without generating anything]]
+
+ [[__karma_buffer__] [`A`] [Temporarily intercepts the output generated by `a`,
+ flushing it only after `a` succeeded.]]
 
     [[`float_`] [`float`] [Generate a floating point number from a `float`]]
     [[`double_`] [`double`] [Generate a floating point number from a `double`]]

Modified: trunk/libs/spirit/doc/spirit2.qbk
==============================================================================
--- trunk/libs/spirit/doc/spirit2.qbk (original)
+++ trunk/libs/spirit/doc/spirit2.qbk 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -159,6 +159,9 @@
 [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 `!`)]]
 
+[def __karma_omit__ [link spirit.karma.reference.directive.omit `omit[a]`]]
+[def __karma_buffer__ [link spirit.karma.reference.directive.buffer `buffer[a]`]]
+
 [def __actions__ Semantic Actions] [/$$$ TODO: link me $$$]
 [def __context__ Context] [/$$$ TODO: link me $$$]
 [def __compatible__ Compatible] [/$$$ TODO: link me $$$]

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-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -42,7 +42,10 @@
 
 int
 main()
-{
+{
+ ///////////////////////////////////////////////////////////////////////////
+ // Operators
+ ///////////////////////////////////////////////////////////////////////////
     {
         //[reference_karma_using_declarations_sequence
         using boost::spirit::karma::generate;
@@ -191,5 +194,38 @@
         //]
     }
 
+ ///////////////////////////////////////////////////////////////////////////
+ // Directives
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ //[reference_karma_using_declarations_buffer
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::buffer;
+ //]
+
+ //[reference_karma_buffer
+ std::vector<double> v; // empty container
+ test_generator_attr("", buffer['[' << +double_ << ']'], v);
+
+ v.push_back(1.0); // now, fill the container
+ v.push_back(2.0);
+ test_generator_attr("[1.02.0]", buffer['[' << +double_ << ']'], v);
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_omit
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::buffer;
+ //]
+
+ //[reference_karma_omit
+ std::pair<double, double> p (1.0, 2.0);
+ test_generator_attr("2.0", omit[double_] << double_, p);
+ //]
+ }
+
     return 0;
 }

Modified: trunk/libs/spirit/test/CMakeLists.txt
==============================================================================
--- trunk/libs/spirit/test/CMakeLists.txt (original)
+++ trunk/libs/spirit/test/CMakeLists.txt 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -66,6 +66,7 @@
 boost_test_run(karma_and_predicate karma/and_predicate.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_alternative karma/alternative.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_binary karma/binary.cpp COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(karma_buffer karma/buffer.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_case_handling karma/case_handling.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_center_alignment karma/center_alignment.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_char karma/char.cpp COMPILE_FLAGS ${test_compile_flags})
@@ -84,6 +85,7 @@
 boost_test_run(karma_list karma/list.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_lit karma/lit.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_maxwidth karma/maxwidth.cpp COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(karma_omit karma/omit.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_optional karma/optional.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_pattern karma/pattern.cpp COMPILE_FLAGS ${test_compile_flags})
 boost_test_run(karma_pattern2 karma/pattern2.cpp COMPILE_FLAGS ${test_compile_flags})

Modified: trunk/libs/spirit/test/Jamfile
==============================================================================
--- trunk/libs/spirit/test/Jamfile (original)
+++ trunk/libs/spirit/test/Jamfile 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -71,6 +71,7 @@
     [ run karma/and_predicate.cpp : : : : karma_and_predicate ]
     [ run karma/alternative.cpp : : : : karma_alternative ]
     [ run karma/binary.cpp : : : : karma_binary ]
+ [ run karma/buffer.cpp : : : : karma_buffer ]
     [ run karma/case_handling.cpp : : : : ]
     [ run karma/center_alignment.cpp : : : : ]
     [ run karma/char.cpp : : : : karma_char ]
@@ -89,6 +90,7 @@
     [ run karma/list.cpp : : : : karma_list ]
     [ run karma/lit.cpp : : : : karma_lit ]
     [ run karma/maxwidth.cpp : : : : ]
+ [ run karma/omit.cpp : : : : karma_omit ]
     [ run karma/optional.cpp : : : : karma_optional ]
     [ run karma/pattern.cpp : : : : karma_pattern ]
     [ run karma/pattern2.cpp : : : : karma_pattern2 ]

Modified: trunk/libs/spirit/test/karma/and_predicate.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/and_predicate.cpp (original)
+++ trunk/libs/spirit/test/karma/and_predicate.cpp 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2007 Hartmut Kaiser
+// Copyright (c) 2001-2009 Hartmut Kaiser
 //
 // 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)
@@ -6,7 +6,6 @@
 #include <boost/config/warning_disable.hpp>
 #include <boost/detail/lightweight_test.hpp>
 
-#include <boost/mpl/print.hpp>
 #include <boost/spirit/include/karma_numeric.hpp>
 #include <boost/spirit/include/karma_generate.hpp>
 #include <boost/spirit/include/karma_operator.hpp>

Added: trunk/libs/spirit/test/karma/buffer.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/karma/buffer.cpp 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -0,0 +1,52 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+//
+// 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)
+
+#include <boost/config/warning_disable.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/spirit/include/karma_numeric.hpp>
+#include <boost/spirit/include/karma_generate.hpp>
+#include <boost/spirit/include/karma_operator.hpp>
+#include <boost/spirit/include/karma_directive.hpp>
+#include <boost/spirit/include/karma_char.hpp>
+
+#include <iostream>
+#include "test.hpp"
+
+int
+main()
+{
+ using namespace spirit_test;
+ using namespace boost::spirit;
+
+ {
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::buffer;
+
+ std::vector<double> v;
+ BOOST_TEST(test("", buffer['[' << +double_ << ']'], v));
+
+ v.push_back(1.0);
+ v.push_back(2.0);
+ BOOST_TEST(test("[1.02.0]", buffer['[' << +double_ << ']'], v));
+ }
+
+ {
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::buffer;
+ using boost::spirit::ascii::space;
+
+ std::vector<double> v;
+ BOOST_TEST(test_delimited("",
+ buffer['[' << +double_ << ']'], v, space));
+
+ v.push_back(1.0);
+ v.push_back(2.0);
+ BOOST_TEST(test_delimited("[ 1.0 2.0 ] ",
+ buffer['[' << +double_ << ']'], v, space));
+ }
+
+ return boost::report_errors();
+}

Added: trunk/libs/spirit/test/karma/omit.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/karma/omit.cpp 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -0,0 +1,33 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+//
+// 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)
+
+#include <boost/config/warning_disable.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/spirit/include/karma_numeric.hpp>
+#include <boost/spirit/include/karma_generate.hpp>
+#include <boost/spirit/include/karma_operator.hpp>
+#include <boost/spirit/include/karma_directive.hpp>
+#include <boost/spirit/include/karma_string.hpp>
+#include <boost/fusion/include/std_pair.hpp>
+
+#include <iostream>
+#include "test.hpp"
+
+int main()
+{
+ using namespace spirit_test;
+ using namespace boost::spirit;
+
+ {
+ using boost::spirit::karma::double_;
+ using boost::spirit::karma::omit;
+
+ std::pair<double, double> p (1.0, 2.0);
+ BOOST_TEST(test("2.0", omit[double_] << double_, p));
+ }
+
+ return boost::report_errors();
+}

Modified: trunk/libs/spirit/test/karma/optional.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/optional.cpp (original)
+++ trunk/libs/spirit/test/karma/optional.cpp 2009-08-03 11:55:34 EDT (Mon, 03 Aug 2009)
@@ -36,6 +36,15 @@
     }
 
     {
+ boost::optional<std::string> opt;
+ BOOST_TEST(test("", -int_, opt));
+
+ opt = "string";
+ BOOST_TEST(test("", -int_, opt));
+ BOOST_TEST(test("", -int_, "string"));
+ }
+
+ {
         boost::optional<int> opt;
         BOOST_TEST(test_delimited("", -int_, opt, space));
 


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