Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55748 - in trunk/libs/spirit/doc: . html html/spirit html/spirit/abstracts html/spirit/karma html/spirit/karma/performance_measurements html/spirit/karma/performance_measurements/numeric_performance html/spirit/karma/quick_reference html/spirit/karma/quick_reference/primitive_generators html/spirit/karma/reference html/spirit/karma/reference/auxiliary html/spirit/karma/reference/char html/spirit/karma/reference/directive html/spirit/karma/reference/generator_concepts html/spirit/karma/reference/numeric html/spirit/karma/reference/operator html/spirit/karma/tutorials html/spirit/lex html/spirit/lex/abstracts html/spirit/lex/abstracts/lexer_primitives html/spirit/lex/reference html/spirit/lex/reference/concepts html/spirit/lex/tutorials html/spirit/notes html/spirit/qi/quick_reference html/spirit/qi/quick_reference/qi_parsers html/spirit/qi/reference html/spirit/qi/reference/auxiliary html/spirit/qi/reference/directive html/spirit/qi/reference/parser_concepts html/spirit/qi/reference/string html/spirit/qi/tutorials html/spirit/support
From: hartmut.kaiser_at_[hidden]
Date: 2009-08-23 22:07:32


Author: hkaiser
Date: 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
New Revision: 55748
URL: http://svn.boost.org/trac/boost/changeset/55748

Log:
Spirit: changed chunking level to 4 again
Added:
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/floating_point.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.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/delimit.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/floating_point.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_primitives.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_definition.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/token.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/tokendef.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/action.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auxiliary.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/binary.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/char.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/directive.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/numeric.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/operator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/string.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html (contents, props changed)
Text files modified:
   trunk/libs/spirit/doc/Jamfile | 2
   trunk/libs/spirit/doc/html/index.html | 4
   trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 16
   trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 18
   trunk/libs/spirit/doc/html/spirit/acknowledgments.html | 2
   trunk/libs/spirit/doc/html/spirit/faq.html | 12
   trunk/libs/spirit/doc/html/spirit/introduction.html | 12
   trunk/libs/spirit/doc/html/spirit/karma.html | 6
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements.html | 6
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html | 995 ------------
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/directives.html | 44
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/operators.html | 22
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html | 1532 -------------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 547 ------
   trunk/libs/spirit/doc/html/spirit/karma/reference/char.html | 1281 ----------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html | 2480 -------------------------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html | 958 ------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html | 10
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html | 3139 ---------------------------------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 2172 ---------------------------
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html | 12
   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.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html | 349 ----
   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 | 10
   trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/reference/concepts.html | 530 ------
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html | 14
   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 | 10
   trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html | 10
   trunk/libs/spirit/doc/html/spirit/preface.html | 18
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 8
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html | 1687 ---------------------
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 288 ---
   trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html | 10
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html | 280 ---
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html | 868 ----------
   trunk/libs/spirit/doc/html/spirit/qi/reference/string.html | 953 ------------
   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 | 14
   55 files changed, 338 insertions(+), 18157 deletions(-)

Modified: trunk/libs/spirit/doc/Jamfile
==============================================================================
--- trunk/libs/spirit/doc/Jamfile (original)
+++ trunk/libs/spirit/doc/Jamfile 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -19,7 +19,7 @@
         <xsl:param>boost.root=../../../..
         <xsl:param>boost.libraries=../../../libraries.htm
         <xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
- <xsl:param>chunk.section.depth=3
+ <xsl:param>chunk.section.depth=4
         <xsl:param>chunk.first.sections=1
         <xsl:param>toc.section.depth=3
         <xsl:param>toc.max.depth=3

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-23 22:07:18 EDT (Sun, 23 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="id1079623"></a><p>
+<a name="id1100550"></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>
@@ -200,7 +200,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 24, 2009 at 01:49:49 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 24, 2009 at 02:02:36 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-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -29,9 +29,9 @@
 </h3></div></div></div>
 <p>
         Parsing Expression Grammars (PEG)
- <sup>[<a name="id1089835" href="#ftn.id1089835" class="footnote">5</a>]</sup>
+ <sup>[<a name="id1110451" href="#ftn.id1110451" class="footnote">5</a>]</sup>
         are a derivative of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1089847" href="#ftn.id1089847" class="footnote">6</a>]</sup>
+ <sup>[<a name="id1110463" href="#ftn.id1110463" 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="id1089867"></a>
+<a name="id1110483"></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="id1089985"></a>
+<a name="id1110601"></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="id1090124"></a>
+<a name="id1110740"></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="id1090265"></a>
+<a name="id1110881"></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.id1089835" href="#id1089835" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1110451" href="#id1110451" 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.id1089847" href="#id1089847" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1110463" href="#id1110463" 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-23 22:07:18 EDT (Sun, 23 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="id1089407" href="#ftn.id1089407" class="footnote">2</a>]</sup>
+ <sup>[<a name="id1110024" href="#ftn.id1110024" class="footnote">2</a>]</sup>
         , a variant of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1089419" href="#ftn.id1089419" class="footnote">3</a>]</sup>
+ <sup>[<a name="id1110036" href="#ftn.id1110036" 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="id1089431" href="#ftn.id1089431" class="footnote">4</a>]</sup>
+ <sup>[<a name="id1110048" href="#ftn.id1110048" 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="id1089443"></a>
+<a name="id1110060"></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="id1089543"></a>
+<a name="id1110159"></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="id1089704"></a>
+<a name="id1110320"></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.id1089407" href="#id1089407" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1110024" href="#id1110024" 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.id1089419" href="#id1089419" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1110036" href="#id1110036" 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.id1089431" href="#id1089431" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1110048" href="#id1110048" 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-23 22:07:18 EDT (Sun, 23 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="id1299537"></a>
+<a name="id1321003"></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-23 22:07:18 EDT (Sun, 23 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="id1288019"></a>
+<a name="id1309000"></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="id1289965"></a>
+<a name="id1310264"></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,19 +172,19 @@
       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="id1290475"></a>
+<a name="id1310774"></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>
     </h4>
 <p>
- In order to perform case-insensitive parsing (using <a class="link" href="qi/reference/directive.html#spirit.qi.reference.directive.no_case" title="no_case"><code class="computeroutput"><span class="identifier">no_case</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>)
- with a symbol table (i.e. use a <a class="link" href="qi/reference/string.html#spirit.qi.reference.string.symbols" title="symbols"><code class="computeroutput"><span class="identifier">symbols</span><span class="special">&lt;</span><span class="identifier">Ch</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code></a> parser in a <code class="computeroutput"><span class="identifier">no_case</span></code>
+ In order to perform case-insensitive parsing (using <a class="link" href="qi/reference/directive/no_case.html" title="no_case"><code class="computeroutput"><span class="identifier">no_case</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>)
+ with a symbol table (i.e. use a <a class="link" href="qi/reference/string/symbols.html" title="symbols"><code class="computeroutput"><span class="identifier">symbols</span><span class="special">&lt;</span><span class="identifier">Ch</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code></a> parser in a <code class="computeroutput"><span class="identifier">no_case</span></code>
       directive), that symbol table needs to be filled with all-lowercase contents.
       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="id1290557"></a>
+<a name="id1310855"></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-23 22:07:18 EDT (Sun, 23 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="id1085583" href="#ftn.id1085583" class="footnote">1</a>]</sup>
+ <sup>[<a name="id1106200" href="#ftn.id1106200" 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="id1085797"></a>
+<a name="id1106413"></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="id1086753"></a>
+<a name="id1107370"></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="id1088187"></a><p class="title"><b>Table 2. Different output formats for `std::vector&lt;int&gt;`</b></p>
+<a name="id1108803"></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="id1088571"></a><p class="title"><b>Table 3. Different data types usable with the output format
+<a name="id1109187"></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.id1085583" href="#id1085583" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1106200" href="#id1106200" 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-23 22:07:18 EDT (Sun, 23 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="../index.html" title="Spirit 2.1">
-<link rel="prev" href="qi/reference/string.html" title="String">
+<link rel="prev" href="qi/reference/string/symbols.html" title="symbols">
 <link rel="next" href="karma/tutorials.html" title="Tutorials">
 </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="qi/reference/string.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="qi/reference/string/symbols.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Karma - Writing Generators">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -83,7 +83,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="qi/reference/string.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="qi/reference/string/symbols.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements.html 2009-08-23 22:07:18 EDT (Sun, 23 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="../karma.html" title="Karma - Writing Generators">
-<link rel="prev" href="reference/auxiliary.html" title="Auxiliary">
+<link rel="prev" href="reference/auxiliary/lazy.html" title="lazy">
 <link rel="next" href="performance_measurements/numeric_performance.html" title="Performance of Numeric Generators">
 </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="reference/auxiliary.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../karma.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="performance_measurements/numeric_performance.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/auxiliary/lazy.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../karma.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="performance_measurements/numeric_performance.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Performance Measurements">
 <div class="titlepage"><div><div><h3 class="title">
@@ -40,7 +40,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference/auxiliary.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../karma.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="performance_measurements/numeric_performance.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/auxiliary/lazy.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../karma.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="performance_measurements/numeric_performance.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
 <link rel="up" href="../performance_measurements.html" title="Performance Measurements">
 <link rel="prev" href="../performance_measurements.html" title="Performance Measurements">
-<link rel="next" href="../../lex.html" title="Lex - Writing Lexical Analyzers">
+<link rel="next" href="numeric_performance/int_performance.html" title="Comparing the performance of a single int_ generator">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../performance_measurements.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance_measurements.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="../../lex.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../performance_measurements.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance_measurements.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="numeric_performance/int_performance.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Performance of Numeric Generators">
 <div class="titlepage"><div><div><h4 class="title">
@@ -28,996 +28,13 @@
         Performance of Numeric Generators</a>
 </h4></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="numeric_performance.html#spirit.karma.performance_measurements.numeric_performance.int_performance">
+<dt><span class="section"><a href="numeric_performance/int_performance.html">
           Comparing the performance of a single int_ generator</a></span></dt>
-<dt><span class="section"><a href="numeric_performance.html#spirit.karma.performance_measurements.numeric_performance.double_performance">
+<dt><span class="section"><a href="numeric_performance/double_performance.html">
           Comparing the performance of a single double_ generator</a></span></dt>
-<dt><span class="section"><a href="numeric_performance.html#spirit.karma.performance_measurements.numeric_performance.format_performance">
+<dt><span class="section"><a href="numeric_performance/format_performance.html">
           Comparing the performance of a sequence of several generators</a></span></dt>
 </dl></div>
-<div class="section" title="Comparing the performance of a single int_ generator">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.performance_measurements.numeric_performance.int_performance"></a><a class="link" href="numeric_performance.html#spirit.karma.performance_measurements.numeric_performance.int_performance" title="Comparing the performance of a single int_ generator">
- Comparing the performance of a single int_ generator</a>
-</h5></div></div></div>
-<p>
- This performance measurements are centered around default formatting
- of a single <code class="computeroutput"><span class="keyword">int</span></code> integer
- number using different libraries and methods. The overall execution times
- for those examples are compared below. We compare using <code class="computeroutput"><span class="identifier">sprintf</span></code>, C++ iostreams, Boost.Format,
- and <span class="emphasis"><em>Spirit.Karma</em></span>.
- </p>
-<p>
- For the full source code of the performance test please see here: int_generator.cpp).
- All the measurements have been done by executing 10000000 iterations
- for each formatting type (NUMITERATIONS is set to 10000000 in the code
- shown below).
- </p>
-<p>
- Code used to measure the performance for <code class="computeroutput"><span class="identifier">ltoa</span></code>:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">65</span><span class="special">];</span> <span class="comment">// we don't expect more than 64 bytes to be generated here
-</span><span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">ltoa</span><span class="special">(</span><span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">buffer</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for standard C++ iostreams:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">str</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">str</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
- <span class="identifier">str</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">];</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for Boost.Format:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><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">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">int_format</span><span class="special">(</span><span class="string">"%d"</span><span class="special">);</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">str</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">str</span><span class="special">(</span><span class="identifier">int_format</span> <span class="special">%</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for <span class="emphasis"><em>Spirit.Karma</em></span>
- using a plain character buffer:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">65</span><span class="special">];</span> <span class="comment">// we don't expect more than 64 bytes to be generated here
-</span><span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">char</span> <span class="special">*</span><span class="identifier">ptr</span> <span class="special">=</span> <span class="identifier">buffer</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">ptr</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="special">*</span><span class="identifier">ptr</span> <span class="special">=</span> <span class="char">'\0'</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- The following table shows the overall performance results collected while
- using different compilers. All times are in seconds measured for 10000000
- iterations (platform: Windows7, Intel Core Duo(tm) Processor, 2.8GHz,
- 4GByte RAM). For a more readable comparison of the results see this
- <a class="link" href="numeric_performance.html#spirit.karma.int_performance" title="Figure 3. Performance comparison for a single int">figure</a>.
- </p>
-<div class="table">
-<a name="id1246158"></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)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Library
- </p>
- </th>
-<th>
- <p>
- gcc 4.4.0 (32 bit)
- </p>
- </th>
-<th>
- <p>
- VC++ 10 (32 bit)
- </p>
- </th>
-<th>
- <p>
- Intel 11.1 (32 bit)
- </p>
- </th>
-<th>
- <p>
- gcc 4.4.0 (64 bit)
- </p>
- </th>
-<th>
- <p>
- VC++ 10 (64 bit)
- </p>
- </th>
-<th>
- <p>
- Intel 11.1 (64 bit)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- ltoa
- </p>
- </td>
-<td>
- <p>
- 1.542
- </p>
- </td>
-<td>
- <p>
- 0.895
- </p>
- </td>
-<td>
- <p>
- 0.884
- </p>
- </td>
-<td>
- <p>
- 1.163
- </p>
- </td>
-<td>
- <p>
- 1.099
- </p>
- </td>
-<td>
- <p>
- 0.906
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- iostreams
- </p>
- </td>
-<td>
- <p>
- 6.548
- </p>
- </td>
-<td>
- <p>
- 13.727
- </p>
- </td>
-<td>
- <p>
- 11.898
- </p>
- </td>
-<td>
- <p>
- 3.464
- </p>
- </td>
-<td>
- <p>
- 8.316
- </p>
- </td>
-<td>
- <p>
- 8.115
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Boost.Format
- </p>
- </td>
-<td>
- <p>
- 16.998
- </p>
- </td>
-<td>
- <p>
- 21.813
- </p>
- </td>
-<td>
- <p>
- 20.477
- </p>
- </td>
-<td>
- <p>
- 17.464
- </p>
- </td>
-<td>
- <p>
- 14.662
- </p>
- </td>
-<td>
- <p>
- 13.646
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="emphasis"><em>Spirit.Karma</em></span> int_
- </p>
- </td>
-<td>
- <p>
- 1.421
- </p>
- </td>
-<td>
- <p>
- 0.744
- </p>
- </td>
-<td>
- <p>
- 0.697
- </p>
- </td>
-<td>
- <p>
- 1.072
- </p>
- </td>
-<td>
- <p>
- 0.953
- </p>
- </td>
-<td>
- <p>
- 0.606
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- </p>
-<div class="figure">
-<a name="spirit.karma.int_performance"></a><p class="title"><b>Figure 3. Performance comparison for a single int</b></p>
-<div class="figure-contents"><span class="inlinemediaobject"><img src="../../.././images/int_performance.png" alt="Performance comparison for a single int"></span></div>
-</div>
-<p><br class="figure-break">
- </p>
-</div>
-<div class="section" title="Comparing the performance of a single double_ generator">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.performance_measurements.numeric_performance.double_performance"></a><a class="link" href="numeric_performance.html#spirit.karma.performance_measurements.numeric_performance.double_performance" title="Comparing the performance of a single double_ generator">
- Comparing the performance of a single double_ generator</a>
-</h5></div></div></div>
-<p>
- This performance measurements are centered around default formatting
- of a single <code class="computeroutput"><span class="keyword">double</span></code> floating
- point number using different libraries and methods. The overall execution
- times for those examples are compared below. We compare using <code class="computeroutput"><span class="identifier">sprintf</span></code>, C++ iostreams, Boost.Format,
- and <span class="emphasis"><em>Spirit.Karma</em></span>.
- </p>
-<p>
- For the full source code of the performance test please see here: double_performance.cpp).
- All the measurements have been done by executing 1000000 iterations for
- each formatting type (NUMITERATIONS is set to 1000000 in the code shown
- below).
- </p>
-<p>
- Code used to measure the performance for <code class="computeroutput"><span class="identifier">sprintf</span></code>:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">sprintf</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="string">"%f"</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for standard C++ iostreams:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">strm</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">strm</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
- <span class="identifier">strm</span> <span class="special">&lt;&lt;</span> <span class="number">12345.12345</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for Boost.Format:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">generated</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">double_format</span><span class="special">(</span><span class="string">"%f"</span><span class="special">);</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
- <span class="identifier">generated</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">str</span><span class="special">(</span><span class="identifier">double_format</span> <span class="special">%</span> <span class="number">12345.12345</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- The following code shows the common definitions used by all <span class="emphasis"><em>Spirit.Karma</em></span>
- performance measurements as listed below:
- </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">double_</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for <span class="emphasis"><em>Spirit.Karma</em></span>
- using a plain character buffer:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
- <span class="keyword">char</span> <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">buffer</span><span class="special">;</span>
- <span class="identifier">generate</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
- <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="char">'\0'</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- The following table shows the overall performance results collected while
- using different compilers. All times are in seconds measured for 1000000
- iterations (platform: Windows7, Intel Core Duo(tm) Processor, 2.8GHz,
- 4GByte RAM). For a more readable comparison of the results see this
- <a class="link" href="numeric_performance.html#spirit.karma.double_performance" title="Figure 4. Performance comparison for a single double">figure</a>.
- </p>
-<div class="table">
-<a name="id1247215"></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)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Library
- </p>
- </th>
-<th>
- <p>
- gcc 4.4.0 (32 bit)
- </p>
- </th>
-<th>
- <p>
- VC++ 10 (32 bit)
- </p>
- </th>
-<th>
- <p>
- Intel 11.1 (32 bit)
- </p>
- </th>
-<th>
- <p>
- gcc 4.4.0 (64 bit)
- </p>
- </th>
-<th>
- <p>
- VC++ 10 (64 bit)
- </p>
- </th>
-<th>
- <p>
- Intel 11.1 (64 bit)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- sprintf
- </p>
- </td>
-<td>
- <p>
- 0.755
- </p>
- </td>
-<td>
- <p>
- 0.965
- </p>
- </td>
-<td>
- <p>
- 0.880
- </p>
- </td>
-<td>
- <p>
- 0.713
- </p>
- </td>
-<td>
- <p>
- 0.807
- </p>
- </td>
-<td>
- <p>
- 0.694
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- iostreams
- </p>
- </td>
-<td>
- <p>
- 2.316
- </p>
- </td>
-<td>
- <p>
- 2.624
- </p>
- </td>
-<td>
- <p>
- 1.964
- </p>
- </td>
-<td>
- <p>
- 1.634
- </p>
- </td>
-<td>
- <p>
- 1.468
- </p>
- </td>
-<td>
- <p>
- 1.354
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Boost.Format
- </p>
- </td>
-<td>
- <p>
- 3.188
- </p>
- </td>
-<td>
- <p>
- 3.737
- </p>
- </td>
-<td>
- <p>
- 2.878
- </p>
- </td>
-<td>
- <p>
- 3.217
- </p>
- </td>
-<td>
- <p>
- 2.672
- </p>
- </td>
-<td>
- <p>
- 2.011
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="emphasis"><em>Spirit.Karma</em></span> double_
- </p>
- </td>
-<td>
- <p>
- 0.813
- </p>
- </td>
-<td>
- <p>
- 0.561
- </p>
- </td>
-<td>
- <p>
- 0.368
- </p>
- </td>
-<td>
- <p>
- 0.426
- </p>
- </td>
-<td>
- <p>
- 0.260
- </p>
- </td>
-<td>
- <p>
- 0.218
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- </p>
-<div class="figure">
-<a name="spirit.karma.double_performance"></a><p class="title"><b>Figure 4. Performance comparison for a single double</b></p>
-<div class="figure-contents"><span class="inlinemediaobject"><img src="../../.././images/double_performance.png" alt="Performance comparison for a single double"></span></div>
-</div>
-<p><br class="figure-break">
- </p>
-</div>
-<div class="section" title="Comparing the performance of a sequence of several generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.performance_measurements.numeric_performance.format_performance"></a><a class="link" href="numeric_performance.html#spirit.karma.performance_measurements.numeric_performance.format_performance" title="Comparing the performance of a sequence of several generators">
- Comparing the performance of a sequence of several generators</a>
-</h5></div></div></div>
-<p>
- This performance measurements are centered around formatting of a sequence
- of different items, including 2 <code class="computeroutput"><span class="keyword">double</span></code>
- floating point numbers using different libraries and methods. The overall
- execution times for those examples are compared below. We compare using
- <code class="computeroutput"><span class="identifier">sprintf</span></code>, C++ iostreams,
- Boost.Format,
- and <span class="emphasis"><em>Spirit.Karma</em></span>.
- </p>
-<p>
- For the full source code of the performance test please see here: format_performance.cpp).
- All the measurements have been done by doing 1000000 iterations for each
- formatting type (NUMITERATIONS is set to 1000000).
- </p>
-<p>
- Code used to measure the performance for sprintf:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">sprintf</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="string">"[%-14.3f%-14.3f]"</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for standard iostreams:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">strm</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">strm</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
- <span class="identifier">strm</span> <span class="special">&lt;&lt;</span> <span class="char">'['</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setiosflags</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">(</span><span class="number">14</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="number">12345.12345</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">(</span><span class="number">14</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="number">12345.12345</span>
- <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for Boost.Format:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">generated</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">outformat</span><span class="special">(</span><span class="string">"[%-14.3f%-14.3f]"</span><span class="special">);</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
- <span class="identifier">generated</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">str</span><span class="special">(</span><span class="identifier">outformat</span> <span class="special">%</span> <span class="number">12345.12345</span> <span class="special">%</span> <span class="number">12345.12345</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- The following code shows the common definitions used by all <span class="emphasis"><em>Spirit.Karma</em></span>
- performance measurements as listed below:
- </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">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">double3_policy</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">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span>
-<span class="special">{</span>
- <span class="comment">// we want to generate up to 3 fractional digits
-</span> <span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">precision</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="number">3</span><span class="special">;</span> <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">typedef</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">real_generator</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">double3_policy</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">double3_type</span><span class="special">;</span>
-<span class="identifier">double3_type</span> <span class="keyword">const</span> <span class="identifier">double3</span> <span class="special">=</span> <span class="identifier">double3_type</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Code used to measure the performance for <span class="emphasis"><em>Spirit.Karma</em></span>
- using a plain character buffer:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
- <span class="keyword">char</span> <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">buffer</span><span class="special">;</span>
- <span class="identifier">generate</span><span class="special">(</span><span class="identifier">p</span>
- <span class="special">,</span> <span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="number">14</span><span class="special">)[</span><span class="identifier">double3</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="number">14</span><span class="special">)[</span><span class="identifier">double3</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span>
- <span class="special">,</span> <span class="number">12345.12345</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
- <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="char">'\0'</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- The following table shows the overall performance results collected while
- using different compilers. All times are in seconds measured for 1000000
- iterations (platform: Windows7, Intel Core Duo(tm) Processor, 2.8GHz,
- 4GByte RAM). For a more readable comparison of the results see this
- <a class="link" href="numeric_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="id1248882"></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)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Library
- </p>
- </th>
-<th>
- <p>
- gcc 4.4.0 (32 bit)
- </p>
- </th>
-<th>
- <p>
- VC++ 10 (32 bit)
- </p>
- </th>
-<th>
- <p>
- Intel 11.1 (32 bit)
- </p>
- </th>
-<th>
- <p>
- gcc 4.4.0 (64 bit)
- </p>
- </th>
-<th>
- <p>
- VC++ 10 (64 bit)
- </p>
- </th>
-<th>
- <p>
- Intel 11.1 (64 bit)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- sprintf
- </p>
- </td>
-<td>
- <p>
- 1.725
- </p>
- </td>
-<td>
- <p>
- 1.892
- </p>
- </td>
-<td>
- <p>
- 1.903
- </p>
- </td>
-<td>
- <p>
- 1.469
- </p>
- </td>
-<td>
- <p>
- 1.608
- </p>
- </td>
-<td>
- <p>
- 1.493
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- iostreams
- </p>
- </td>
-<td>
- <p>
- 4.827
- </p>
- </td>
-<td>
- <p>
- 5.287
- </p>
- </td>
-<td>
- <p>
- 4.444
- </p>
- </td>
-<td>
- <p>
- 3.112
- </p>
- </td>
-<td>
- <p>
- 3.319
- </p>
- </td>
-<td>
- <p>
- 2.877
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Boost.Format
- </p>
- </td>
-<td>
- <p>
- 5.881
- </p>
- </td>
-<td>
- <p>
- 7.089
- </p>
- </td>
-<td>
- <p>
- 5.801
- </p>
- </td>
-<td>
- <p>
- 5.455
- </p>
- </td>
-<td>
- <p>
- 5.254
- </p>
- </td>
-<td>
- <p>
- 4.164
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="emphasis"><em>Spirit.Karma</em></span>
- </p>
- </td>
-<td>
- <p>
- 1.942
- </p>
- </td>
-<td>
- <p>
- 1.242
- </p>
- </td>
-<td>
- <p>
- 0.999
- </p>
- </td>
-<td>
- <p>
- 1.334
- </p>
- </td>
-<td>
- <p>
- 0.758
- </p>
- </td>
-<td>
- <p>
- 0.686
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- </p>
-<div class="figure">
-<a name="spirit.karma.format_performance"></a><p class="title"><b>Figure 5. Performance comparison for a sequence
- of several items</b></p>
-<div class="figure-contents"><span class="inlinemediaobject"><img src="../../.././images/format_performance.png" alt="Performance comparison for a sequence of several items"></span></div>
-</div>
-<p><br class="figure-break">
- </p>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -1030,7 +47,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../performance_measurements.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance_measurements.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="../../lex.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../performance_measurements.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance_measurements.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="numeric_performance/int_performance.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,363 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Comparing the performance of a single double_ generator</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="../numeric_performance.html" title="Performance of Numeric Generators">
+<link rel="prev" href="int_performance.html" title="Comparing the performance of a single int_ generator">
+<link rel="next" href="format_performance.html" title="Comparing the performance of a sequence of several generators">
+</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="int_performance.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.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="format_performance.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Comparing the performance of a single double_ generator">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.performance_measurements.numeric_performance.double_performance"></a><a class="link" href="double_performance.html" title="Comparing the performance of a single double_ generator">
+ Comparing the performance of a single double_ generator</a>
+</h5></div></div></div>
+<p>
+ This performance measurements are centered around default formatting
+ of a single <code class="computeroutput"><span class="keyword">double</span></code> floating
+ point number using different libraries and methods. The overall execution
+ times for those examples are compared below. We compare using <code class="computeroutput"><span class="identifier">sprintf</span></code>, C++ iostreams, Boost.Format,
+ and <span class="emphasis"><em>Spirit.Karma</em></span>.
+ </p>
+<p>
+ For the full source code of the performance test please see here: double_performance.cpp).
+ All the measurements have been done by executing 1000000 iterations for
+ each formatting type (NUMITERATIONS is set to 1000000 in the code shown
+ below).
+ </p>
+<p>
+ Code used to measure the performance for <code class="computeroutput"><span class="identifier">sprintf</span></code>:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">sprintf</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="string">"%f"</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for standard C++ iostreams:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">strm</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">strm</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
+ <span class="identifier">strm</span> <span class="special">&lt;&lt;</span> <span class="number">12345.12345</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for Boost.Format:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">generated</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">double_format</span><span class="special">(</span><span class="string">"%f"</span><span class="special">);</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+ <span class="identifier">generated</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">str</span><span class="special">(</span><span class="identifier">double_format</span> <span class="special">%</span> <span class="number">12345.12345</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The following code shows the common definitions used by all <span class="emphasis"><em>Spirit.Karma</em></span>
+ performance measurements as listed below:
+ </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">double_</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for <span class="emphasis"><em>Spirit.Karma</em></span>
+ using a plain character buffer:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">char</span> <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">buffer</span><span class="special">;</span>
+ <span class="identifier">generate</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
+ <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="char">'\0'</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The following table shows the overall performance results collected while
+ using different compilers. All times are in seconds measured for 1000000
+ iterations (platform: Windows7, Intel Core Duo(tm) Processor, 2.8GHz,
+ 4GByte RAM). For a more readable comparison of the results see this
+ <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="id1268650"></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)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Library
+ </p>
+ </th>
+<th>
+ <p>
+ gcc 4.4.0 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ VC++ 10 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ Intel 11.1 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ gcc 4.4.0 (64 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ VC++ 10 (64 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ Intel 11.1 (64 bit)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ sprintf
+ </p>
+ </td>
+<td>
+ <p>
+ 0.755
+ </p>
+ </td>
+<td>
+ <p>
+ 0.965
+ </p>
+ </td>
+<td>
+ <p>
+ 0.880
+ </p>
+ </td>
+<td>
+ <p>
+ 0.713
+ </p>
+ </td>
+<td>
+ <p>
+ 0.807
+ </p>
+ </td>
+<td>
+ <p>
+ 0.694
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ iostreams
+ </p>
+ </td>
+<td>
+ <p>
+ 2.316
+ </p>
+ </td>
+<td>
+ <p>
+ 2.624
+ </p>
+ </td>
+<td>
+ <p>
+ 1.964
+ </p>
+ </td>
+<td>
+ <p>
+ 1.634
+ </p>
+ </td>
+<td>
+ <p>
+ 1.468
+ </p>
+ </td>
+<td>
+ <p>
+ 1.354
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Boost.Format
+ </p>
+ </td>
+<td>
+ <p>
+ 3.188
+ </p>
+ </td>
+<td>
+ <p>
+ 3.737
+ </p>
+ </td>
+<td>
+ <p>
+ 2.878
+ </p>
+ </td>
+<td>
+ <p>
+ 3.217
+ </p>
+ </td>
+<td>
+ <p>
+ 2.672
+ </p>
+ </td>
+<td>
+ <p>
+ 2.011
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="emphasis"><em>Spirit.Karma</em></span> double_
+ </p>
+ </td>
+<td>
+ <p>
+ 0.813
+ </p>
+ </td>
+<td>
+ <p>
+ 0.561
+ </p>
+ </td>
+<td>
+ <p>
+ 0.368
+ </p>
+ </td>
+<td>
+ <p>
+ 0.426
+ </p>
+ </td>
+<td>
+ <p>
+ 0.260
+ </p>
+ </td>
+<td>
+ <p>
+ 0.218
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ </p>
+<div class="figure">
+<a name="spirit.karma.double_performance"></a><p class="title"><b>Figure 4. Performance comparison for a single double</b></p>
+<div class="figure-contents"><span class="inlinemediaobject"><img src="../../../.././images/double_performance.png" alt="Performance comparison for a single double"></span></div>
+</div>
+<p><br class="figure-break">
+ </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="int_performance.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.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="format_performance.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,384 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Comparing the performance of a sequence of several generators</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="../numeric_performance.html" title="Performance of Numeric Generators">
+<link rel="prev" href="double_performance.html" title="Comparing the performance of a single double_ generator">
+<link rel="next" href="../../../lex.html" title="Lex - Writing Lexical Analyzers">
+</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="double_performance.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.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="../../../lex.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Comparing the performance of a sequence of several generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.performance_measurements.numeric_performance.format_performance"></a><a class="link" href="format_performance.html" title="Comparing the performance of a sequence of several generators">
+ Comparing the performance of a sequence of several generators</a>
+</h5></div></div></div>
+<p>
+ This performance measurements are centered around formatting of a sequence
+ of different items, including 2 <code class="computeroutput"><span class="keyword">double</span></code>
+ floating point numbers using different libraries and methods. The overall
+ execution times for those examples are compared below. We compare using
+ <code class="computeroutput"><span class="identifier">sprintf</span></code>, C++ iostreams,
+ Boost.Format,
+ and <span class="emphasis"><em>Spirit.Karma</em></span>.
+ </p>
+<p>
+ For the full source code of the performance test please see here: format_performance.cpp).
+ All the measurements have been done by doing 1000000 iterations for each
+ formatting type (NUMITERATIONS is set to 1000000).
+ </p>
+<p>
+ Code used to measure the performance for sprintf:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">sprintf</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="string">"[%-14.3f%-14.3f]"</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for standard iostreams:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">strm</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">strm</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
+ <span class="identifier">strm</span> <span class="special">&lt;&lt;</span> <span class="char">'['</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setiosflags</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">(</span><span class="number">14</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="number">12345.12345</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">(</span><span class="number">14</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="number">12345.12345</span>
+ <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for Boost.Format:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">generated</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">outformat</span><span class="special">(</span><span class="string">"[%-14.3f%-14.3f]"</span><span class="special">);</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+ <span class="identifier">generated</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">str</span><span class="special">(</span><span class="identifier">outformat</span> <span class="special">%</span> <span class="number">12345.12345</span> <span class="special">%</span> <span class="number">12345.12345</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The following code shows the common definitions used by all <span class="emphasis"><em>Spirit.Karma</em></span>
+ performance measurements as listed below:
+ </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">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">double3_policy</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">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="comment">// we want to generate up to 3 fractional digits
+</span> <span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">precision</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="number">3</span><span class="special">;</span> <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">typedef</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">real_generator</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">double3_policy</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">double3_type</span><span class="special">;</span>
+<span class="identifier">double3_type</span> <span class="keyword">const</span> <span class="identifier">double3</span> <span class="special">=</span> <span class="identifier">double3_type</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for <span class="emphasis"><em>Spirit.Karma</em></span>
+ using a plain character buffer:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">256</span><span class="special">];</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">NUMITERATIONS</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">char</span> <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">buffer</span><span class="special">;</span>
+ <span class="identifier">generate</span><span class="special">(</span><span class="identifier">p</span>
+ <span class="special">,</span> <span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="number">14</span><span class="special">)[</span><span class="identifier">double3</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="number">14</span><span class="special">)[</span><span class="identifier">double3</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span>
+ <span class="special">,</span> <span class="number">12345.12345</span><span class="special">,</span> <span class="number">12345.12345</span><span class="special">);</span>
+ <span class="special">*</span><span class="identifier">p</span> <span class="special">=</span> <span class="char">'\0'</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The following table shows the overall performance results collected while
+ using different compilers. All times are in seconds measured for 1000000
+ iterations (platform: Windows7, Intel Core Duo(tm) Processor, 2.8GHz,
+ 4GByte RAM). For a more readable comparison of the results see this
+ <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="id1270317"></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)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Library
+ </p>
+ </th>
+<th>
+ <p>
+ gcc 4.4.0 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ VC++ 10 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ Intel 11.1 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ gcc 4.4.0 (64 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ VC++ 10 (64 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ Intel 11.1 (64 bit)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ sprintf
+ </p>
+ </td>
+<td>
+ <p>
+ 1.725
+ </p>
+ </td>
+<td>
+ <p>
+ 1.892
+ </p>
+ </td>
+<td>
+ <p>
+ 1.903
+ </p>
+ </td>
+<td>
+ <p>
+ 1.469
+ </p>
+ </td>
+<td>
+ <p>
+ 1.608
+ </p>
+ </td>
+<td>
+ <p>
+ 1.493
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ iostreams
+ </p>
+ </td>
+<td>
+ <p>
+ 4.827
+ </p>
+ </td>
+<td>
+ <p>
+ 5.287
+ </p>
+ </td>
+<td>
+ <p>
+ 4.444
+ </p>
+ </td>
+<td>
+ <p>
+ 3.112
+ </p>
+ </td>
+<td>
+ <p>
+ 3.319
+ </p>
+ </td>
+<td>
+ <p>
+ 2.877
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Boost.Format
+ </p>
+ </td>
+<td>
+ <p>
+ 5.881
+ </p>
+ </td>
+<td>
+ <p>
+ 7.089
+ </p>
+ </td>
+<td>
+ <p>
+ 5.801
+ </p>
+ </td>
+<td>
+ <p>
+ 5.455
+ </p>
+ </td>
+<td>
+ <p>
+ 5.254
+ </p>
+ </td>
+<td>
+ <p>
+ 4.164
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="emphasis"><em>Spirit.Karma</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.942
+ </p>
+ </td>
+<td>
+ <p>
+ 1.242
+ </p>
+ </td>
+<td>
+ <p>
+ 0.999
+ </p>
+ </td>
+<td>
+ <p>
+ 1.334
+ </p>
+ </td>
+<td>
+ <p>
+ 0.758
+ </p>
+ </td>
+<td>
+ <p>
+ 0.686
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ </p>
+<div class="figure">
+<a name="spirit.karma.format_performance"></a><p class="title"><b>Figure 5. Performance comparison for a sequence
+ of several items</b></p>
+<div class="figure-contents"><span class="inlinemediaobject"><img src="../../../.././images/format_performance.png" alt="Performance comparison for a sequence of several items"></span></div>
+</div>
+<p><br class="figure-break">
+ </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="double_performance.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.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="../../../lex.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,353 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Comparing the performance of a single int_ generator</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="../numeric_performance.html" title="Performance of Numeric Generators">
+<link rel="prev" href="../numeric_performance.html" title="Performance of Numeric Generators">
+<link rel="next" href="double_performance.html" title="Comparing the performance of a single double_ generator">
+</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="../numeric_performance.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.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="double_performance.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Comparing the performance of a single int_ generator">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.performance_measurements.numeric_performance.int_performance"></a><a class="link" href="int_performance.html" title="Comparing the performance of a single int_ generator">
+ Comparing the performance of a single int_ generator</a>
+</h5></div></div></div>
+<p>
+ This performance measurements are centered around default formatting
+ of a single <code class="computeroutput"><span class="keyword">int</span></code> integer
+ number using different libraries and methods. The overall execution times
+ for those examples are compared below. We compare using <code class="computeroutput"><span class="identifier">sprintf</span></code>, C++ iostreams, Boost.Format,
+ and <span class="emphasis"><em>Spirit.Karma</em></span>.
+ </p>
+<p>
+ For the full source code of the performance test please see here: int_generator.cpp).
+ All the measurements have been done by executing 10000000 iterations
+ for each formatting type (NUMITERATIONS is set to 10000000 in the code
+ shown below).
+ </p>
+<p>
+ Code used to measure the performance for <code class="computeroutput"><span class="identifier">ltoa</span></code>:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">65</span><span class="special">];</span> <span class="comment">// we don't expect more than 64 bytes to be generated here
+</span><span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">ltoa</span><span class="special">(</span><span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">buffer</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for standard C++ iostreams:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">str</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">str</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
+ <span class="identifier">str</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">];</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for Boost.Format:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><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">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">int_format</span><span class="special">(</span><span class="string">"%d"</span><span class="special">);</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">str</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">str</span><span class="special">(</span><span class="identifier">int_format</span> <span class="special">%</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Code used to measure the performance for <span class="emphasis"><em>Spirit.Karma</em></span>
+ using a plain character buffer:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">buffer</span><span class="special">[</span><span class="number">65</span><span class="special">];</span> <span class="comment">// we don't expect more than 64 bytes to be generated here
+</span><span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">MAX_ITERATION</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">char</span> <span class="special">*</span><span class="identifier">ptr</span> <span class="special">=</span> <span class="identifier">buffer</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">ptr</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="special">*</span><span class="identifier">ptr</span> <span class="special">=</span> <span class="char">'\0'</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The following table shows the overall performance results collected while
+ using different compilers. All times are in seconds measured for 10000000
+ iterations (platform: Windows7, Intel Core Duo(tm) Processor, 2.8GHz,
+ 4GByte RAM). For a more readable comparison of the results see this
+ <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="id1267593"></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)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Library
+ </p>
+ </th>
+<th>
+ <p>
+ gcc 4.4.0 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ VC++ 10 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ Intel 11.1 (32 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ gcc 4.4.0 (64 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ VC++ 10 (64 bit)
+ </p>
+ </th>
+<th>
+ <p>
+ Intel 11.1 (64 bit)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ ltoa
+ </p>
+ </td>
+<td>
+ <p>
+ 1.542
+ </p>
+ </td>
+<td>
+ <p>
+ 0.895
+ </p>
+ </td>
+<td>
+ <p>
+ 0.884
+ </p>
+ </td>
+<td>
+ <p>
+ 1.163
+ </p>
+ </td>
+<td>
+ <p>
+ 1.099
+ </p>
+ </td>
+<td>
+ <p>
+ 0.906
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ iostreams
+ </p>
+ </td>
+<td>
+ <p>
+ 6.548
+ </p>
+ </td>
+<td>
+ <p>
+ 13.727
+ </p>
+ </td>
+<td>
+ <p>
+ 11.898
+ </p>
+ </td>
+<td>
+ <p>
+ 3.464
+ </p>
+ </td>
+<td>
+ <p>
+ 8.316
+ </p>
+ </td>
+<td>
+ <p>
+ 8.115
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Boost.Format
+ </p>
+ </td>
+<td>
+ <p>
+ 16.998
+ </p>
+ </td>
+<td>
+ <p>
+ 21.813
+ </p>
+ </td>
+<td>
+ <p>
+ 20.477
+ </p>
+ </td>
+<td>
+ <p>
+ 17.464
+ </p>
+ </td>
+<td>
+ <p>
+ 14.662
+ </p>
+ </td>
+<td>
+ <p>
+ 13.646
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="emphasis"><em>Spirit.Karma</em></span> int_
+ </p>
+ </td>
+<td>
+ <p>
+ 1.421
+ </p>
+ </td>
+<td>
+ <p>
+ 0.744
+ </p>
+ </td>
+<td>
+ <p>
+ 0.697
+ </p>
+ </td>
+<td>
+ <p>
+ 1.072
+ </p>
+ </td>
+<td>
+ <p>
+ 0.953
+ </p>
+ </td>
+<td>
+ <p>
+ 0.606
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ </p>
+<div class="figure">
+<a name="spirit.karma.int_performance"></a><p class="title"><b>Figure 3. Performance comparison for a single int</b></p>
+<div class="figure-contents"><span class="inlinemediaobject"><img src="../../../.././images/int_performance.png" alt="Performance comparison for a single int"></span></div>
+</div>
+<p><br class="figure-break">
+ </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="../numeric_performance.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.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="double_performance.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

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-23 22:07:18 EDT (Sun, 23 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="id1163619"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
+<a name="id1184569"></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>
@@ -63,7 +63,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.sequence" title="Sequences (operator&lt;&lt;())">sequence
+ <a class="link" href="../reference/operator/sequence.html" title="Sequences (operator&lt;&lt;())">sequence
                 (<code class="computeroutput"><span class="special">&lt;&lt;</span></code>)</a>
               </p>
               </td>
@@ -87,7 +87,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.alternative" title="Alternatives (operator|())">alternative
+ <a class="link" href="../reference/operator/alternative.html" title="Alternatives (operator|())">alternative
                 (<code class="computeroutput"><span class="special">|</span></code>)</a>
               </p>
               </td>
@@ -107,7 +107,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.kleene" title="Kleene Star (unary operator*())">kleene (unary
+ <a class="link" href="../reference/operator/kleene.html" title="Kleene Star (unary operator*())">kleene (unary
                 <code class="computeroutput"><span class="special">*</span></code>)</a>
               </p>
               </td>
@@ -124,7 +124,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.plus" title="Plus (unary operator+())">plus (unary
+ <a class="link" href="../reference/operator/plus.html" title="Plus (unary operator+())">plus (unary
                 <code class="computeroutput"><span class="special">+</span></code>)</a>
               </p>
               </td>
@@ -141,7 +141,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.list" title="Lists (operator%())">list (<code class="computeroutput"><span class="special">%</span></code>)</a>
+ <a class="link" href="../reference/operator/list.html" title="Lists (operator%())">list (<code class="computeroutput"><span class="special">%</span></code>)</a>
               </p>
               </td>
 <td>
@@ -157,7 +157,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.repeat" title="Repetition Directive (repeat[])">repetition</a>
+ <a class="link" href="../reference/directive/repeat.html" title="Repetition Directive (repeat[])">repetition</a>
               </p>
               </td>
 <td>
@@ -173,7 +173,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.optional" title="Optional (unary operator-())">optional
+ <a class="link" href="../reference/operator/optional.html" title="Optional (unary operator-())">optional
                 (unary <code class="computeroutput"><span class="special">-</span></code>)</a>
               </p>
               </td>
@@ -190,7 +190,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.and_predicate" title="And Predicate (unary operator&amp;())">and
+ <a class="link" href="../reference/operator/and_predicate.html" title="And Predicate (unary operator&amp;())">and
                 predicate (unary <code class="computeroutput"><span class="special">&amp;</span></code>)</a>
               </p>
               </td>
@@ -205,7 +205,7 @@
 <tr>
 <td>
               <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.not_predicate" title="Not Predicate (unary operator!())">not
+ <a class="link" href="../reference/operator/not_predicate.html" title="Not Predicate (unary operator!())">not
                 predicate (unary <code class="computeroutput"><span class="special">!</span></code>)</a>
               </p>
               </td>

Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/directives.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/directives.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/directives.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -58,7 +58,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.upperlower" title="Directives Controlling Case Sensitivity (upper[] and lower[])"><code class="computeroutput"><span class="identifier">lower</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/upperlower.html" title="Directives Controlling Case Sensitivity (upper[] and lower[])"><code class="computeroutput"><span class="identifier">lower</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -76,7 +76,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.upperlower" title="Directives Controlling Case Sensitivity (upper[] and lower[])"><code class="computeroutput"><span class="identifier">upper</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/upperlower.html" title="Directives Controlling Case Sensitivity (upper[] and lower[])"><code class="computeroutput"><span class="identifier">upper</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -94,7 +94,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">left_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">left_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -112,7 +112,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -130,7 +130,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
                   <span class="identifier">g</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
@@ -151,7 +151,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">center</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">center</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -169,7 +169,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -187,7 +187,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
                   <span class="identifier">g</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
@@ -208,7 +208,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">right_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">right_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -226,7 +226,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -244,7 +244,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
+ <a class="link" href="../reference/directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])"><code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
                   <span class="identifier">g</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
@@ -265,7 +265,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.maxwidth" title="Controlling the Maximum Field Wield (maxwidth[])"><code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/maxwidth.html" title="Controlling the Maximum Field Wield (maxwidth[])"><code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -283,7 +283,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.maxwidth" title="Controlling the Maximum Field Wield (maxwidth[])"><code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/maxwidth.html" title="Controlling the Maximum Field Wield (maxwidth[])"><code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -301,7 +301,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.repeat" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/repeat.html" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -319,7 +319,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.repeat" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/repeat.html" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -336,7 +336,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.repeat" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num1</span><span class="special">,</span>
+ <a class="link" href="../reference/directive/repeat.html" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num1</span><span class="special">,</span>
                   <span class="identifier">num2</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
@@ -355,7 +355,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.repeat" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
+ <a class="link" href="../reference/directive/repeat.html" title="Repetition Directive (repeat[])"><code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
                   <span class="identifier">inf</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
@@ -373,7 +373,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.delimit" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"><code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/delimit.html" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"><code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -390,7 +390,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.delimit" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"><code class="computeroutput"><span class="identifier">delimit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/delimit.html" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"><code class="computeroutput"><span class="identifier">delimit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -407,7 +407,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.delimit" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"><code class="computeroutput"><span class="identifier">delimit</span><span class="special">(</span><span class="identifier">d</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
+ <a class="link" href="../reference/directive/delimit.html" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"><code class="computeroutput"><span class="identifier">delimit</span><span class="special">(</span><span class="identifier">d</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code></a>
                 </p>
                 </td>
 <td>
@@ -425,7 +425,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.omit" 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>
+ <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>
@@ -443,7 +443,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/directive.html#spirit.karma.reference.directive.buffer" 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>
+ <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>

Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/operators.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/operators.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/operators.html 2009-08-23 22:07:18 EDT (Sun, 23 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="../quick_reference.html" title="Quick Reference">
-<link rel="prev" href="primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="primitive_generators/auxiliary.html" title="Auxiliary Generators">
 <link rel="next" href="directives.html" title="Generator Directives">
 </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="primitive_generators.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="directives.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="primitive_generators/auxiliary.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="directives.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Generator Operators">
 <div class="titlepage"><div><div><h4 class="title">
@@ -58,7 +58,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.not_predicate" title="Not Predicate (unary operator!())"><code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code></a>
+ <a class="link" href="../reference/operator/not_predicate.html" title="Not Predicate (unary operator!())"><code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code></a>
                 </p>
                 </td>
 <td>
@@ -76,7 +76,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.not_predicate" title="Not Predicate (unary operator!())"><code class="computeroutput"><span class="special">&amp;</span><span class="identifier">a</span></code></a>
+ <a class="link" href="../reference/operator/not_predicate.html" title="Not Predicate (unary operator!())"><code class="computeroutput"><span class="special">&amp;</span><span class="identifier">a</span></code></a>
                 </p>
                 </td>
 <td>
@@ -94,7 +94,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.optional" title="Optional (unary operator-())"><code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code></a>
+ <a class="link" href="../reference/operator/optional.html" title="Optional (unary operator-())"><code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code></a>
                 </p>
                 </td>
 <td>
@@ -112,7 +112,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.kleene" title="Kleene Star (unary operator*())"><code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code></a>
+ <a class="link" href="../reference/operator/kleene.html" title="Kleene Star (unary operator*())"><code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code></a>
                 </p>
                 </td>
 <td>
@@ -130,7 +130,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.plus" title="Plus (unary operator+())"><code class="computeroutput"><span class="special">+</span><span class="identifier">a</span></code></a>
+ <a class="link" href="../reference/operator/plus.html" title="Plus (unary operator+())"><code class="computeroutput"><span class="special">+</span><span class="identifier">a</span></code></a>
                 </p>
                 </td>
 <td>
@@ -148,7 +148,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.alternative" title="Alternatives (operator|())"><code class="computeroutput"><span class="identifier">a</span> <span class="special">|</span>
+ <a class="link" href="../reference/operator/alternative.html" title="Alternatives (operator|())"><code class="computeroutput"><span class="identifier">a</span> <span class="special">|</span>
                   <span class="identifier">b</span></code></a>
                 </p>
                 </td>
@@ -168,7 +168,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.sequence" title="Sequences (operator&lt;&lt;())"><code class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;&lt;</span>
+ <a class="link" href="../reference/operator/sequence.html" title="Sequences (operator&lt;&lt;())"><code class="computeroutput"><span class="identifier">a</span> <span class="special">&lt;&lt;</span>
                   <span class="identifier">b</span></code></a>
                 </p>
                 </td>
@@ -188,7 +188,7 @@
 <tr>
 <td>
                 <p>
- <a class="link" href="../reference/operator.html#spirit.karma.reference.operator.list" title="Lists (operator%())"><code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span>
+ <a class="link" href="../reference/operator/list.html" title="Lists (operator%())"><code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span>
                   <span class="identifier">b</span></code></a>
                 </p>
                 </td>
@@ -230,7 +230,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="primitive_generators.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="directives.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="primitive_generators/auxiliary.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="directives.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
 <link rel="up" href="../quick_reference.html" title="Quick Reference">
 <link rel="prev" href="common_notation.html" title="Common Notation">
-<link rel="next" href="operators.html" title="Generator Operators">
+<link rel="next" href="primitive_generators/char.html" title="Character Generators">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="common_notation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="operators.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="common_notation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="primitive_generators/char.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Primitive Generators">
 <div class="titlepage"><div><div><h4 class="title">
@@ -28,1533 +28,21 @@
         Primitive Generators</a>
 </h4></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.char">
+<dt><span class="section"><a href="primitive_generators/char.html">
           Character Generators</a></span></dt>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.string">
+<dt><span class="section"><a href="primitive_generators/string.html">
           String Generators</a></span></dt>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.floating_point">
+<dt><span class="section"><a href="primitive_generators/floating_point.html">
           Floating Point Number Generators</a></span></dt>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.unsigned_int">
+<dt><span class="section"><a href="primitive_generators/unsigned_int.html">
           Unsigned Integer Generators</a></span></dt>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.signed_int">
+<dt><span class="section"><a href="primitive_generators/signed_int.html">
           Integer Generators</a></span></dt>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.binary">
+<dt><span class="section"><a href="primitive_generators/binary.html">
           Binary Generators</a></span></dt>
-<dt><span class="section"><a href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.auxiliary">
+<dt><span class="section"><a href="primitive_generators/auxiliary.html">
           Auxiliary Generators</a></span></dt>
 </dl></div>
-<div class="section" title="Character Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.char"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.char" title="Character Generators">
- Character Generators</a>
-</h5></div></div></div>
-<p>
- See here for more information about <a class="link" href="../reference/char.html" title="Char">Character
- Generators</a>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">ch</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>,
- if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>,
- if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">,</span>
- <span class="identifier">ch2</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>,
- if <code class="computeroutput"><span class="identifier">c</span></code> belongs
- to the chracter range from <code class="computeroutput"><span class="identifier">ch</span></code>
- to <code class="computeroutput"><span class="identifier">ch2</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>,
- if <code class="computeroutput"><span class="identifier">c</span></code> belongs
- to the chracter set <code class="computeroutput"><span class="identifier">charset</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">alnum</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalnum</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">alpha</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalpha</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">blank</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isblank</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">cntrl</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iscntrl</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">digit</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isdigit</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">graph</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isgraph</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">print</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isprint</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">punct</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ispunct</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">space</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span></code>,
- or a single space character in the character set defined by
- <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">xdigit</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isxdigit</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">lower</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"><code class="computeroutput"><span class="identifier">upper</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section" title="String Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.string"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.string" title="String Generators">
- String Generators</a>
-</h5></div></div></div>
-<p>
- See here for more information about String Generators .
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">str</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">str</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">str</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">string</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Str</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">str</span></code>,
- if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section" title="Floating Point Number Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.floating_point"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.floating_point" title="Floating Point Number Generators">
- Floating Point Number Generators</a>
-</h5></div></div></div>
-<p>
- See here for more information about <a class="link" href="../reference/numeric.html" title="Numeric">Numeric
- Generators</a>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html" title="Numeric"><code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">num</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">float_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">float</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a floating point number from a <code class="computeroutput"><span class="keyword">float</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">float_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">float</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as a floating point number from a <code class="computeroutput"><span class="keyword">float</span></code>,
- if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">double_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">double</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a floating point number from a <code class="computeroutput"><span class="keyword">double</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">double_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">double</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a <code class="computeroutput"><span class="identifier">num</span></code>
- as a floating point number from a <code class="computeroutput"><span class="keyword">double</span></code>,
- if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">long_double</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a floating point number from a <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">long_double</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as a floating point number from a <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, if an attribute
- is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_generator</span><span class="special">&lt;</span>
- <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Policies</span>
-<span class="special">&gt;()</span></pre>
- </a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a floating point number <code class="computeroutput"><span class="identifier">Num</span></code>
- using the supplied floating point formatting policies
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.floating_point" title="Floating Point Number Generators">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_generator</span><span class="special">&lt;</span>
- <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Policies</span>
-<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span></pre>
- </a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate floating point number <code class="computeroutput"><span class="identifier">num</span></code>
- as a <code class="computeroutput"><span class="identifier">Num</span></code> using
- the supplied floating point formatting policies, if an attribute
- is supplied it must match
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section" title="Unsigned Integer Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.unsigned_int"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.unsigned_int" title="Unsigned Integer Generators">
- Unsigned Integer Generators</a>
-</h5></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ushort_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an unsigned short integer
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ushort_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as an unsigned short integer, if an attribute is supplied it
- must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">uint_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an unsigned int
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">uint_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as an unsigned int, if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an unsigned long integer
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as an unsigned long integer, if an attribute is supplied it must
- match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_long</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
- <span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an unsigned long long
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
- <span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as an unsigned long long, if an attribute is supplied it must
- match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">bin</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a binary integer from an <code class="computeroutput"><span class="keyword">unsigned</span>
- <span class="keyword">int</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">oct</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an octal integer from an <code class="computeroutput"><span class="keyword">unsigned</span>
- <span class="keyword">int</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">hex</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a hexadecimal integer from an <code class="computeroutput"><span class="keyword">unsigned</span>
- <span class="keyword">int</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_generator</span><span class="special">&lt;</span>
- <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
-<span class="special">&gt;()</span></pre>
- </a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an unsigned <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.unsigned_int" title="Unsigned Integer Number Generators">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_generator</span><span class="special">&lt;</span>
- <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
-<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span></pre>
- </a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an unsigned <code class="computeroutput"><span class="identifier">num</span></code>
- as a <code class="computeroutput"><span class="identifier">Num</span></code>, if
- an attribute is supplied it must match
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section" title="Integer Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.signed_int"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.signed_int" title="Integer Generators">
- Integer Generators</a>
-</h5></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">short_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">short</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a short integer
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">short</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as a short integer, if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">int_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an int
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as an int, if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a long integer
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as long integer, if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_long</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a long long
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">num</span></code>
- as an long long, if an attribute is supplied it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_generator</span><span class="special">&lt;</span>
- <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">,</span> <span class="identifier">force_sign</span>
-<span class="special">&gt;()</span></pre>
- </a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/numeric.html#spirit.karma.reference.numeric.signed_int" title="Signed Integer Number Generators">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_generator</span><span class="special">&lt;</span>
- <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">,</span> <span class="identifier">force_sign</span>
-<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span></pre>
- </a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Num</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate a <code class="computeroutput"><span class="identifier">num</span></code>
- as a <code class="computeroutput"><span class="identifier">Num</span></code>, if
- an attribute is supplied it must match
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section" title="Binary Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.binary"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.binary" title="Binary Generators">
- Binary Generators</a>
-</h5></div></div></div>
-<p>
- See here for more information about Binary Generators .
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">byte_</span></code>
- </p>
- </td>
-<td>
- <p>
- 8 bits native endian
- </p>
- </td>
-<td>
- <p>
- Generates an 8 bit binary
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">word</span></code>
- </p>
- </td>
-<td>
- <p>
- 16 bits native endian
- </p>
- </td>
-<td>
- <p>
- Generates a 16 bit binary in native endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">big_word</span></code>
- </p>
- </td>
-<td>
- <p>
- 16 bits big endian
- </p>
- </td>
-<td>
- <p>
- Generates a 16 bit binary in big endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">little_word</span></code>
- </p>
- </td>
-<td>
- <p>
- 16 bits little endian
- </p>
- </td>
-<td>
- <p>
- Generates a 16 bit binary in little endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">dword</span></code>
- </p>
- </td>
-<td>
- <p>
- 32 bits native endian
- </p>
- </td>
-<td>
- <p>
- Generates a 32 bit binary in native endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">big_dword</span></code>
- </p>
- </td>
-<td>
- <p>
- 32 bits big endian
- </p>
- </td>
-<td>
- <p>
- Generates a 32 bit binary in big endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">little_dword</span></code>
- </p>
- </td>
-<td>
- <p>
- 32 bits little endian
- </p>
- </td>
-<td>
- <p>
- Generates a 32 bit binary in little endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">qword</span></code>
- </p>
- </td>
-<td>
- <p>
- 64 bits native endian
- </p>
- </td>
-<td>
- <p>
- Generates a 64 bit binary in native endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">big_qword</span></code>
- </p>
- </td>
-<td>
- <p>
- 64 bits big endian
- </p>
- </td>
-<td>
- <p>
- Generates a 64 bit binary in big endian representation
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">little_qword</span></code>
- </p>
- </td>
-<td>
- <p>
- 64 bits little endian
- </p>
- </td>
-<td>
- <p>
- Generates a 64 bit binary in little endian representation
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section" title="Auxiliary Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.quick_reference.primitive_generators.auxiliary"></a><a class="link" href="primitive_generators.html#spirit.karma.quick_reference.primitive_generators.auxiliary" title="Auxiliary Generators">
- Auxiliary Generators</a>
-</h5></div></div></div>
-<p>
- See here for more information about <a class="link" href="../reference/auxiliary.html" title="Auxiliary">Auxiliary
- Generators</a>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Attribute
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.eol" title="eol"><code class="computeroutput"><span class="identifier">eol</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the end of line (<code class="computeroutput"><span class="special">\</span><span class="identifier">n</span></code>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.eps" title="eps"><code class="computeroutput"><span class="identifier">eps</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate an empty string
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.eps" title="eps"><code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
- </p>
- </td>
-<td>
- <p>
- If <code class="computeroutput"><span class="identifier">b</span></code> is true,
- generate an empty string
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.lazy" title="lazy"><code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code></a>
- </p>
- </td>
-<td>
- <p>
- Attribute of <code class="computeroutput"><span class="identifier">G</span></code>
- where <code class="computeroutput"><span class="identifier">G</span></code> is the
- return type of <code class="computeroutput"><span class="identifier">fg</span></code>
- </p>
- </td>
-<td>
- <p>
- Invoke <code class="computeroutput"><span class="identifier">fg</span></code> at
- generation time, returning a generator <code class="computeroutput"><span class="identifier">g</span></code>
- which is then called to generate.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.lazy" title="lazy"><code class="computeroutput"><span class="identifier">fg</span></code></a>
- </p>
- </td>
-<td>
- <p>
- see <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.lazy" title="lazy"><code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code></a>
- above
- </p>
- </td>
-<td>
- <p>
- Equivalent to <a class="link" href="../reference/auxiliary.html#spirit.karma.reference.auxiliary.lazy" title="lazy"><code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code></a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">g</span><span class="special">[</span><span class="identifier">fa</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Attribute of <code class="computeroutput"><span class="identifier">g</span></code>
- </p>
- </td>
-<td>
- <p>
- Call semantic action <code class="computeroutput"><span class="identifier">fa</span></code>
- (before executing <code class="computeroutput"><span class="identifier">g</span></code>).
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -1567,7 +55,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="common_notation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="operators.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="common_notation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quick_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="primitive_generators/char.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,184 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Auxiliary Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="binary.html" title="Binary Generators">
+<link rel="next" href="../operators.html" title="Generator Operators">
+</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="binary.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="../operators.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Auxiliary Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.auxiliary"></a><a class="link" href="auxiliary.html" title="Auxiliary Generators">
+ Auxiliary Generators</a>
+</h5></div></div></div>
+<p>
+ See here for more information about <a class="link" href="../../reference/auxiliary.html" title="Auxiliary">Auxiliary
+ Generators</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/auxiliary/eol.html" title="eol"><code class="computeroutput"><span class="identifier">eol</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the end of line (<code class="computeroutput"><span class="special">\</span><span class="identifier">n</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/auxiliary/eps.html" title="eps"><code class="computeroutput"><span class="identifier">eps</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an empty string
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/auxiliary/eps.html" title="eps"><code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">b</span></code> is true,
+ generate an empty string
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/auxiliary/lazy.html" title="lazy"><code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Attribute of <code class="computeroutput"><span class="identifier">G</span></code>
+ where <code class="computeroutput"><span class="identifier">G</span></code> is the
+ return type of <code class="computeroutput"><span class="identifier">fg</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Invoke <code class="computeroutput"><span class="identifier">fg</span></code> at
+ generation time, returning a generator <code class="computeroutput"><span class="identifier">g</span></code>
+ which is then called to generate.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/auxiliary/lazy.html" title="lazy"><code class="computeroutput"><span class="identifier">fg</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ see <a class="link" href="../../reference/auxiliary/lazy.html" title="lazy"><code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code></a>
+ above
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <a class="link" href="../../reference/auxiliary/lazy.html" title="lazy"><code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">g</span><span class="special">[</span><span class="identifier">fa</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Attribute of <code class="computeroutput"><span class="identifier">g</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Call semantic action <code class="computeroutput"><span class="identifier">fa</span></code>
+ (before executing <code class="computeroutput"><span class="identifier">g</span></code>).
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="binary.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="../operators.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Binary Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="signed_int.html" title="Integer Generators">
+<link rel="next" href="auxiliary.html" title="Auxiliary Generators">
+</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="signed_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="auxiliary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Binary Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.binary"></a><a class="link" href="binary.html" title="Binary Generators">
+ Binary Generators</a>
+</h5></div></div></div>
+<p>
+ See here for more information about Binary Generators .
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">byte_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 8 bits native endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates an 8 bit binary
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">word</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 16 bits native endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 16 bit binary in native endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">big_word</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 16 bits big endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 16 bit binary in big endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">little_word</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 16 bits little endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 16 bit binary in little endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">dword</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 32 bits native endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 32 bit binary in native endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">big_dword</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 32 bits big endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 32 bit binary in big endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">little_dword</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 32 bits little endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 32 bit binary in little endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">qword</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 64 bits native endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 64 bit binary in native endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">big_qword</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 64 bits big endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 64 bit binary in big endian representation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">little_qword</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 64 bits little endian
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a 64 bit binary in little endian representation
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="signed_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="auxiliary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,414 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Character Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="../primitive_generators.html" title="Primitive Generators">
+<link rel="next" href="string.html" title="String Generators">
+</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="../primitive_generators.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="string.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Character Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.char"></a><a class="link" href="char.html" title="Character Generators">
+ Character Generators</a>
+</h5></div></div></div>
+<p>
+ See here for more information about <a class="link" href="../../reference/char.html" title="Char">Character
+ Generators</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">ch</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>,
+ if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>,
+ if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">,</span>
+ <span class="identifier">ch2</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>,
+ if <code class="computeroutput"><span class="identifier">c</span></code> belongs
+ to the chracter range from <code class="computeroutput"><span class="identifier">ch</span></code>
+ to <code class="computeroutput"><span class="identifier">ch2</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>,
+ if <code class="computeroutput"><span class="identifier">c</span></code> belongs
+ to the chracter set <code class="computeroutput"><span class="identifier">charset</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">alnum</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalnum</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">alpha</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalpha</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">blank</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isblank</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">cntrl</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iscntrl</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">digit</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isdigit</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">graph</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isgraph</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">print</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isprint</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">punct</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ispunct</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">space</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span></code>,
+ or a single space character in the character set defined by
+ <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">xdigit</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isxdigit</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">lower</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/char/char_class.html" title="Character Class Generators"><code class="computeroutput"><span class="identifier">upper</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">NS</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="../primitive_generators.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="string.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/floating_point.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/floating_point.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,248 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Floating Point Number Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="string.html" title="String Generators">
+<link rel="next" href="unsigned_int.html" title="Unsigned Integer Generators">
+</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="string.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="unsigned_int.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Floating Point Number Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.floating_point"></a><a class="link" href="floating_point.html" title="Floating Point Number Generators">
+ Floating Point Number Generators</a>
+</h5></div></div></div>
+<p>
+ See here for more information about <a class="link" href="../../reference/numeric.html" title="Numeric">Numeric
+ Generators</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric.html" title="Numeric"><code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">num</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">float_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">float</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a floating point number from a <code class="computeroutput"><span class="keyword">float</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">float_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">float</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as a floating point number from a <code class="computeroutput"><span class="keyword">float</span></code>,
+ if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">double_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">double</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a floating point number from a <code class="computeroutput"><span class="keyword">double</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">double_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">double</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a <code class="computeroutput"><span class="identifier">num</span></code>
+ as a floating point number from a <code class="computeroutput"><span class="keyword">double</span></code>,
+ if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">long_double</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a floating point number from a <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators"><code class="computeroutput"><span class="identifier">long_double</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as a floating point number from a <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, if an attribute
+ is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators">
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_generator</span><span class="special">&lt;</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Policies</span>
+<span class="special">&gt;()</span></pre>
+ </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a floating point number <code class="computeroutput"><span class="identifier">Num</span></code>
+ using the supplied floating point formatting policies
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/floating_point.html" title="Floating Point Number Generators">
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_generator</span><span class="special">&lt;</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Policies</span>
+<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+ </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate floating point number <code class="computeroutput"><span class="identifier">num</span></code>
+ as a <code class="computeroutput"><span class="identifier">Num</span></code> using
+ the supplied floating point formatting policies, if an attribute
+ is supplied it must match
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="string.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="unsigned_int.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,255 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Integer Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="unsigned_int.html" title="Unsigned Integer Generators">
+<link rel="next" href="binary.html" title="Binary Generators">
+</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="unsigned_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="binary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Integer Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.signed_int"></a><a class="link" href="signed_int.html" title="Integer Generators">
+ Integer Generators</a>
+</h5></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">short_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">short</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a short integer
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">short</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as a short integer, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">int_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an int
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as an int, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a long integer
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as long integer, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_long</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a long long
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as an long long, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators">
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_generator</span><span class="special">&lt;</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">,</span> <span class="identifier">force_sign</span>
+<span class="special">&gt;()</span></pre>
+ </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/signed_int.html" title="Signed Integer Number Generators">
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_generator</span><span class="special">&lt;</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">,</span> <span class="identifier">force_sign</span>
+<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+ </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a <code class="computeroutput"><span class="identifier">num</span></code>
+ as a <code class="computeroutput"><span class="identifier">Num</span></code>, if
+ an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="unsigned_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="binary.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>String Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="char.html" title="Character Generators">
+<link rel="next" href="floating_point.html" title="Floating Point Number Generators">
+</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="char.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="floating_point.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="String Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.string"></a><a class="link" href="string.html" title="String Generators">
+ String Generators</a>
+</h5></div></div></div>
+<p>
+ See here for more information about String Generators .
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">str</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">str</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">str</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">string</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Str</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">str</span></code>,
+ if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="char.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="floating_point.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,314 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Unsigned Integer Generators</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="../primitive_generators.html" title="Primitive Generators">
+<link rel="prev" href="floating_point.html" title="Floating Point Number Generators">
+<link rel="next" href="signed_int.html" title="Integer Generators">
+</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="floating_point.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="signed_int.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Unsigned Integer Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.quick_reference.primitive_generators.unsigned_int"></a><a class="link" href="unsigned_int.html" title="Unsigned Integer Generators">
+ Unsigned Integer Generators</a>
+</h5></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ushort_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an unsigned short integer
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ushort_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as an unsigned short integer, if an attribute is supplied it
+ must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">uint_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an unsigned int
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">uint_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as an unsigned int, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an unsigned long integer
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as an unsigned long integer, if an attribute is supplied it must
+ match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_long</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
+ <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an unsigned long long
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
+ <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <code class="computeroutput"><span class="identifier">num</span></code>
+ as an unsigned long long, if an attribute is supplied it must
+ match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">bin</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a binary integer from an <code class="computeroutput"><span class="keyword">unsigned</span>
+ <span class="keyword">int</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">oct</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an octal integer from an <code class="computeroutput"><span class="keyword">unsigned</span>
+ <span class="keyword">int</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators"><code class="computeroutput"><span class="identifier">hex</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a hexadecimal integer from an <code class="computeroutput"><span class="keyword">unsigned</span>
+ <span class="keyword">int</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators">
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_generator</span><span class="special">&lt;</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">&gt;()</span></pre>
+ </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an unsigned <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../../reference/numeric/unsigned_int.html" title="Unsigned Integer Number Generators">
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_generator</span><span class="special">&lt;</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+ </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an unsigned <code class="computeroutput"><span class="identifier">num</span></code>
+ as a <code class="computeroutput"><span class="identifier">Num</span></code>, if
+ an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><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="floating_point.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitive_generators.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="signed_int.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

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-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="operator.html" title="Operator">
-<link rel="next" href="../performance_measurements.html" title="Performance Measurements">
+<link rel="prev" href="operator/not_predicate.html" title="Not Predicate (unary operator!())">
+<link rel="next" href="auxiliary/eol.html" title="eol">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,16 +20,16 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="operator.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="../performance_measurements.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="operator/not_predicate.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="auxiliary/eol.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Auxiliary">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="spirit.karma.reference.auxiliary"></a><a class="link" href="auxiliary.html" title="Auxiliary">Auxiliary</a>
 </h4></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section">eol</span></dt>
-<dt><span class="section">eps</span></dt>
-<dt><span class="section">lazy</span></dt>
+<dt><span class="section">eol</span></dt>
+<dt><span class="section">eps</span></dt>
+<dt><span class="section">lazy</span></dt>
 </dl></div>
 <p>
           This module includes different auxiliary generators not fitting into any
@@ -37,543 +37,12 @@
           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="id1242551"></a>
+<a name="id1263440"></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;
 </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_auxiliary</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
-<div class="section" title="eol">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.auxiliary.eol"></a><a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol" title="eol">eol</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.auxiliary.eol.description"></a><h6>
-<a name="id1242627"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.description">Description</a>
- </h6>
-<p>
- The <code class="computeroutput"><span class="identifier">eol</span></code> component generates
- a single newline character. It is equivalent to <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="char">'\n'</span><span class="special">)</span></code>
- or simply '\n' (please see the <a class="link" href="char.html#spirit.karma.reference.char.char_generator" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span></code></a> generator module for more
- details).
- </p>
-<a name="spirit.karma.reference.auxiliary.eol.header"></a><h6>
-<a name="id1242680"></a>
- <a class="link" href="auxiliary.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;
-</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_eol</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.auxiliary.eol.model_of"></a><h6>
-<a name="id1242754"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.model_of">Model of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<a name="spirit.karma.reference.auxiliary.eol.expression_semantics"></a><h6>
-<a name="id1242792"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.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.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</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">eol</span></code>
- </p>
- </td>
-<td>
- <p>
- Create a component generating a single end of line character
- in the output
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<a name="spirit.karma.reference.auxiliary.eol.attributes"></a><h6>
-<a name="id1242881"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.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">eol</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">unused</span></code>
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<a name="spirit.karma.reference.auxiliary.eol.complexity"></a><h6>
-<a name="id1242959"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- O(1)
- </p>
-<p>
- </p>
-</blockquote></div>
-<p>
- The complexity is constant as a single character is generated in the
- output.
- </p>
-<a name="spirit.karma.reference.auxiliary.eol.example"></a><h6>
-<a name="id1242987"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eol.example">Example</a>
- </h6>
-</div>
-<div class="section" title="eps">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.auxiliary.eps"></a><a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps" title="eps">eps</a>
-</h5></div></div></div>
-<p>
- The family of <code class="computeroutput"><span class="identifier">eps</span></code> components
- allows to create pseudo generators generating an empty string. This feature
- is sometimes useful either to force a generator to fail or to succeed
- or to insert semantic actions into the generation process.
- </p>
-<a name="spirit.karma.reference.auxiliary.eps.description"></a><h6>
-<a name="id1243022"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.description">Description</a>
- </h6>
-<p>
- The <code class="computeroutput"><span class="identifier">eps</span></code> creates a component
- generating an empty string while always succeeding. The <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
- component generates an empty string as well, but succeeds only if <code class="computeroutput"><span class="identifier">b</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>
- and fails otherwise. It's lazy variant <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">fb</span><span class="special">)</span></code> is equivalent to <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code> except it evaluates the supplied function
- <code class="computeroutput"><span class="identifier">fb</span></code> at generate time,
- while using the return value as the criteria to succeed.
- </p>
-<a name="spirit.karma.reference.auxiliary.eps.header"></a><h6>
-<a name="id1243121"></a>
- <a class="link" href="auxiliary.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;
-</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_eps</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.auxiliary.eps.model_of"></a><h6>
-<a name="id1243196"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.model_of">Model of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">b</span></code></span></dt>
-<dd><p>
- A boolean value.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">fb</span></code></span></dt>
-<dd><p>
- A <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to a boolean value.
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.auxiliary.eps.expression_semantics"></a><h6>
-<a name="id1243282"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.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.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</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">eps</span></code>
- </p>
- </td>
-<td>
- <p>
- Creates a component generating an empty string. Succeeds always.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Creates a component generating an empty string. Succeeds if
- <code class="computeroutput"><span class="identifier">b</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">fb</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Creates a component generating an empty string. Succeeds if
- <code class="computeroutput"><span class="identifier">fb</span></code> returns <code class="computeroutput"><span class="keyword">true</span></code> at generate time.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.auxiliary.eps.attributes"></a><h6>
-<a name="id1243469"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.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">eps</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">unused</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">unused</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">fb</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">unused</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.auxiliary.eps.complexity"></a><h6>
-<a name="id1243631"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- O(1)
- </p>
-<p>
- </p>
-</blockquote></div>
-<p>
- The complexity is constant as no output is generated.
- </p>
-<a name="spirit.karma.reference.auxiliary.eps.example"></a><h6>
-<a name="id1243659"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.eps.example">Example</a>
- </h6>
-</div>
-<div class="section" title="lazy">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.auxiliary.lazy"></a><a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy" title="lazy">lazy</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.auxiliary.lazy.description"></a><h6>
-<a name="id1243683"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.description">Description</a>
- </h6>
-<p>
- The familiy of <code class="computeroutput"><span class="identifier">lazy</span></code> components
- allows to use a dynamically returned generator component for output generation.
- It calls the provided function or function object at generate time using
- its return value as the actual generator to produce the output.
- </p>
-<a name="spirit.karma.reference.auxiliary.lazy.header"></a><h6>
-<a name="id1243707"></a>
- <a class="link" href="auxiliary.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;
-</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_lazy</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.auxiliary.lazy.model_of"></a><h6>
-<a name="id1243781"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.generator" title="Generator"><code class="computeroutput"><span class="identifier">Generator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">fg</span></code></span></dt>
-<dd><p>
- A function or function object that evaluates to a generator object.
- This function will be invoked at generate time.
- </p></dd>
-</dl>
-</div>
-<p>
- The signature of <code class="computeroutput"><span class="identifier">fg</span></code> is
- expected to be
- </p>
-<pre class="programlisting"><span class="identifier">G</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Unused</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">)</span>
-</pre>
-<p>
- where <code class="computeroutput"><span class="identifier">G</span></code>, the function's
- return value, is the type of the generator to be invoked, and <code class="computeroutput"><span class="identifier">Context</span></code> is the generators's Context
- type (The first argument is <code class="computeroutput"><span class="identifier">unused</span></code>
- to make the <code class="computeroutput"><span class="identifier">Context</span></code> the
- second argument. This is done for uniformity with <a class="link" href="../tutorials/semantic_actions.html" title="Semantic Actions">Semantic
- Actions</a>).
- </p>
-<a name="spirit.karma.reference.auxiliary.lazy.expression_semantics"></a><h6>
-<a name="id1243923"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.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.html#spirit.karma.reference.generator_concepts.generator" title="Generator"><code class="computeroutput"><span class="identifier">Generator</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">fg</span></code>
- </p>
- </td>
-<td>
- <p>
- The Boost.Phoenix
- function object <code class="computeroutput"><span class="identifier">fg</span></code>
- will be invoked at generate time. It is expected to return a
- generator instance. This generator is then invoked in order to
- generate the output.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- The function or function object will be invoked at generate time.
- It is expected to return a generator instance (note this version
- of <code class="computeroutput"><span class="identifier">lazy</span></code> does
- not require <code class="computeroutput"><span class="identifier">fg</span></code>
- to be a Boost.Phoenix
- function object). This generator is then invoked in order to
- generate the output.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.auxiliary.lazy.attributes"></a><h6>
-<a name="id1244075"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.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">fg</span></code>
- </p>
- </td>
-<td>
- <p>
- The attribute type <code class="computeroutput"><span class="identifier">G</span></code>
- as exposed by the generator <code class="computeroutput"><span class="identifier">g</span></code>
- returned from <code class="computeroutput"><span class="identifier">fg</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- The attribute type <code class="computeroutput"><span class="identifier">G</span></code>
- as exposed by the generator <code class="computeroutput"><span class="identifier">g</span></code>
- returned from <code class="computeroutput"><span class="identifier">fg</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.auxiliary.lazy.complexity"></a><h6>
-<a name="id1244224"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.complexity">Complexity</a>
- </h6>
-<p>
- The complexity of the <code class="computeroutput"><span class="identifier">lazy</span></code>
- component is determined by the complexity of the generator returned from
- <code class="computeroutput"><span class="identifier">fg</span></code>.
- </p>
-<a name="spirit.karma.reference.auxiliary.lazy.example"></a><h6>
-<a name="id1244255"></a>
- <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
- </h6>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -586,7 +55,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="operator.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="../performance_measurements.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="operator/not_predicate.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="auxiliary/eol.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,172 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>eol</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="../auxiliary.html" title="Auxiliary">
+<link rel="prev" href="../auxiliary.html" title="Auxiliary">
+<link rel="next" href="eps.html" title="eps">
+</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="../auxiliary.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.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="eps.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="eol">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id1263516"></a>
+ <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.description">Description</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">eol</span></code> component generates
+ a single newline character. It is equivalent to <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="char">'\n'</span><span class="special">)</span></code>
+ or simply '\n' (please see the <a class="link" href="../char/char_generator.html" title="Character Generators"><code class="computeroutput"><span class="identifier">char_</span></code></a> generator module for more
+ details).
+ </p>
+<a name="spirit.karma.reference.auxiliary.eol.header"></a><h6>
+<a name="id1263569"></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;
+</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_eol</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.auxiliary.eol.model_of"></a><h6>
+<a name="id1263643"></a>
+ <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.model_of">Model of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.auxiliary.eol.expression_semantics"></a><h6>
+<a name="id1263682"></a>
+ <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.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/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</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">eol</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a component generating a single end of line character
+ in the output
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.auxiliary.eol.attributes"></a><h6>
+<a name="id1263770"></a>
+ <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.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">eol</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.karma.reference.auxiliary.eol.complexity"></a><h6>
+<a name="id1263848"></a>
+ <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ O(1)
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ The complexity is constant as a single character is generated in the
+ output.
+ </p>
+<a name="spirit.karma.reference.auxiliary.eol.example"></a><h6>
+<a name="id1263876"></a>
+ <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.example">Example</a>
+ </h6>
+</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="../auxiliary.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.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="eps.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,246 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>eps</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="../auxiliary.html" title="Auxiliary">
+<link rel="prev" href="eol.html" title="eol">
+<link rel="next" href="lazy.html" title="lazy">
+</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="eol.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.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="lazy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="eps">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.auxiliary.eps"></a><a class="link" href="eps.html" title="eps">eps</a>
+</h5></div></div></div>
+<p>
+ The family of <code class="computeroutput"><span class="identifier">eps</span></code> components
+ allows to create pseudo generators generating an empty string. This feature
+ is sometimes useful either to force a generator to fail or to succeed
+ or to insert semantic actions into the generation process.
+ </p>
+<a name="spirit.karma.reference.auxiliary.eps.description"></a><h6>
+<a name="id1263911"></a>
+ <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.description">Description</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">eps</span></code> creates a component
+ generating an empty string while always succeeding. The <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ component generates an empty string as well, but succeeds only if <code class="computeroutput"><span class="identifier">b</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>
+ and fails otherwise. It's lazy variant <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">fb</span><span class="special">)</span></code> is equivalent to <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code> except it evaluates the supplied function
+ <code class="computeroutput"><span class="identifier">fb</span></code> at generate time,
+ while using the return value as the criteria to succeed.
+ </p>
+<a name="spirit.karma.reference.auxiliary.eps.header"></a><h6>
+<a name="id1264010"></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;
+</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_eps</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.auxiliary.eps.model_of"></a><h6>
+<a name="id1264085"></a>
+ <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.model_of">Model of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">b</span></code></span></dt>
+<dd><p>
+ A boolean value.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">fb</span></code></span></dt>
+<dd><p>
+ A <a class="link" href="../karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a boolean value.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.karma.reference.auxiliary.eps.expression_semantics"></a><h6>
+<a name="id1264171"></a>
+ <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.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/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</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">eps</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Creates a component generating an empty string. Succeeds always.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Creates a component generating an empty string. Succeeds if
+ <code class="computeroutput"><span class="identifier">b</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">fb</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Creates a component generating an empty string. Succeeds if
+ <code class="computeroutput"><span class="identifier">fb</span></code> returns <code class="computeroutput"><span class="keyword">true</span></code> at generate time.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.auxiliary.eps.attributes"></a><h6>
+<a name="id1264358"></a>
+ <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.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">eps</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">eps</span><span class="special">(</span><span class="identifier">fb</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.auxiliary.eps.complexity"></a><h6>
+<a name="id1264520"></a>
+ <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ O(1)
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ The complexity is constant as no output is generated.
+ </p>
+<a name="spirit.karma.reference.auxiliary.eps.example"></a><h6>
+<a name="id1264548"></a>
+ <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.example">Example</a>
+ </h6>
+</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="eol.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.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="lazy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,230 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>lazy</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="../auxiliary.html" title="Auxiliary">
+<link rel="prev" href="eps.html" title="eps">
+<link rel="next" href="../../performance_measurements.html" title="Performance Measurements">
+</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="eps.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.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="../../performance_measurements.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="lazy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id1264572"></a>
+ <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.description">Description</a>
+ </h6>
+<p>
+ The familiy of <code class="computeroutput"><span class="identifier">lazy</span></code> components
+ allows to use a dynamically returned generator component for output generation.
+ It calls the provided function or function object at generate time using
+ its return value as the actual generator to produce the output.
+ </p>
+<a name="spirit.karma.reference.auxiliary.lazy.header"></a><h6>
+<a name="id1264596"></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;
+</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_lazy</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.auxiliary.lazy.model_of"></a><h6>
+<a name="id1264670"></a>
+ <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.model_of">Model
+ of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/generator.html" title="Generator"><code class="computeroutput"><span class="identifier">Generator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">fg</span></code></span></dt>
+<dd><p>
+ A function or function object that evaluates to a generator object.
+ This function will be invoked at generate time.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The signature of <code class="computeroutput"><span class="identifier">fg</span></code> is
+ expected to be
+ </p>
+<pre class="programlisting"><span class="identifier">G</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Unused</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">)</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">G</span></code>, the function's
+ return value, is the type of the generator to be invoked, and <code class="computeroutput"><span class="identifier">Context</span></code> is the generators's Context
+ type (The first argument is <code class="computeroutput"><span class="identifier">unused</span></code>
+ to make the <code class="computeroutput"><span class="identifier">Context</span></code> the
+ second argument. This is done for uniformity with <a class="link" href="../../tutorials/semantic_actions.html" title="Semantic Actions">Semantic
+ Actions</a>).
+ </p>
+<a name="spirit.karma.reference.auxiliary.lazy.expression_semantics"></a><h6>
+<a name="id1264812"></a>
+ <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.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/generator.html" title="Generator"><code class="computeroutput"><span class="identifier">Generator</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">fg</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The Boost.Phoenix
+ function object <code class="computeroutput"><span class="identifier">fg</span></code>
+ will be invoked at generate time. It is expected to return a
+ generator instance. This generator is then invoked in order to
+ generate the output.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The function or function object will be invoked at generate time.
+ It is expected to return a generator instance (note this version
+ of <code class="computeroutput"><span class="identifier">lazy</span></code> does
+ not require <code class="computeroutput"><span class="identifier">fg</span></code>
+ to be a Boost.Phoenix
+ function object). This generator is then invoked in order to
+ generate the output.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.auxiliary.lazy.attributes"></a><h6>
+<a name="id1264964"></a>
+ <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.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">fg</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The attribute type <code class="computeroutput"><span class="identifier">G</span></code>
+ as exposed by the generator <code class="computeroutput"><span class="identifier">g</span></code>
+ returned from <code class="computeroutput"><span class="identifier">fg</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lazy</span><span class="special">(</span><span class="identifier">fg</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The attribute type <code class="computeroutput"><span class="identifier">G</span></code>
+ as exposed by the generator <code class="computeroutput"><span class="identifier">g</span></code>
+ returned from <code class="computeroutput"><span class="identifier">fg</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.auxiliary.lazy.complexity"></a><h6>
+<a name="id1265113"></a>
+ <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.complexity">Complexity</a>
+ </h6>
+<p>
+ The complexity of the <code class="computeroutput"><span class="identifier">lazy</span></code>
+ component is determined by the complexity of the generator returned from
+ <code class="computeroutput"><span class="identifier">fg</span></code>.
+ </p>
+<a name="spirit.karma.reference.auxiliary.lazy.example"></a><h6>
+<a name="id1265144"></a>
+ <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
+ </h6>
+</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="eps.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.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="../../performance_measurements.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/char.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/char.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char.html 2009-08-23 22:07:18 EDT (Sun, 23 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="karma_basics.html" title="Basics">
-<link rel="next" href="numeric.html" title="Numeric">
+<link rel="next" href="char/char_generator.html" title="Character Generators">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,16 +20,16 @@
 </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="numeric.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<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="char/char_generator.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Char">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="spirit.karma.reference.char"></a><a class="link" href="char.html" title="Char"> Char</a>
 </h4></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="char.html#spirit.karma.reference.char.char_generator"> Character
+<dt><span class="section"><a href="char/char_generator.html"> Character
           Generators</a></span></dt>
-<dt><span class="section"><a href="char.html#spirit.karma.reference.char.char_class"> Character
+<dt><span class="section"><a href="char/char_class.html"> Character
           Class Generators</a></span></dt>
 </dl></div>
 <p>
@@ -38,1281 +38,12 @@
           generators.
         </p>
 <a name="spirit.karma.reference.char.module_header"></a><h6>
-<a name="id1173181"></a>
+<a name="id1193589"></a>
           <a class="link" href="char.html#spirit.karma.reference.char.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char.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_char</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
-<div class="section" title="Character Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.char.char_generator"></a><a class="link" href="char.html#spirit.karma.reference.char.char_generator" title="Character Generators"> Character
- Generators</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.char.char_generator.description"></a><h6>
-<a name="id1173257"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.description">Description</a>
- </h6>
-<p>
- The character generators described in this section are:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>,
- same as <code class="computeroutput"><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">lit</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the mandatory attribute as a single character interpreted
- in the character set define by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>
- as a character interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>, if an attribute is supplied
- it must match
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates <code class="computeroutput"><span class="identifier">c</span></code> as
- a character interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>, if an attribute is supplied
- it must match, equivalent to <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="char">'c'</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span>
- <span class="identifier">ch2</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it belongs
- to the character range interpreted in the character set defined
- by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it belongs
- to <code class="computeroutput"><span class="identifier">charset</span></code> interpreted
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- In the table above, <code class="computeroutput"><span class="identifier">ns</span></code>
- is a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
- Encoding Namespace</a> used by the corresponding character generator.
- </p>
-<a name="spirit.karma.reference.char.char_generator.header"></a><h6>
-<a name="id1173709"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.header">Header</a>
- </h6>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char.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_char_</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.char.char_generator.model_of"></a><h6>
-<a name="id1173784"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">ch</span></code>,
- <code class="computeroutput"><span class="identifier">ch1</span></code>, <code class="computeroutput"><span class="identifier">ch2</span></code></span></dt>
-<dd><p>
- Character-class specific character (See Character Class Types), or
- a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to a character-class specific character
- value
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">charset</span></code></span></dt>
-<dd><p>
- Character-set specifier string (See Character Class Types), or a
- <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to a character-set specifier string,
- or a pointer/reference to a null-terminated array of characters.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">ns</span></code></span></dt>
-<dd><p>
- A <a class="link" href="../../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
- Encoding Namespace</a>.
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.char.char_generator.expression_semantics"></a><h6>
-<a name="id1173912"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.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.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ch</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character literal <code class="computeroutput"><span class="identifier">ch</span></code>.
- This generator never fails (except if the underlying output stream
- reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character literal <code class="computeroutput"><span class="identifier">ch</span></code>.
- This generator never fails (except if the underlying output stream
- reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character provided by a mandatory attribute interpreted
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
- This generator never fails (except if the underlying output stream
- reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character <code class="computeroutput"><span class="identifier">ch</span></code>
- as provided by the immediate literal value the generator is initialized
- from. If this generator has an associated attribute it succeeds
- only as long as the attribute is equal to the immediate literal
- (except if the underlying output stream reports an error). Otherwise
- this generator fails and does not generate any output.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character <code class="computeroutput"><span class="identifier">c</span></code>
- as provided by the immediate literal value the generator is initialized
- from. If this generator has an associated attribute it succeeds
- only as long as the attribute is equal to the immediate literal
- (except if the underlying output stream reports an error). Otherwise
- this generator fails and does not generate any output.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span>
- <span class="identifier">ch2</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character provided by a mandatory attribute interpreted
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
- The generator succeeds as long as the attribute belongs to the
- character range <code class="computeroutput"><span class="special">[</span><span class="identifier">ch1</span><span class="special">,</span>
- <span class="identifier">ch2</span><span class="special">]</span></code>
- (except if the underlying output stream reports an error). Otherwise
- this generator fails and does not generate any output.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate the character provided by a mandatory attribute interpreted
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
- The generator succeeds as long as the attribute belongs to the
- character set <code class="computeroutput"><span class="identifier">charset</span></code>
- (except if the underlying output stream reports an error). Otherwise
- this generator fails and does not generate any output.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- A character <code class="computeroutput"><span class="identifier">ch</span></code> is assumed
- to belong to the character range defined by <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span> <span class="identifier">ch2</span><span class="special">)</span></code> if its character value (binary representation)
- interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- is not smaller than the character value of <code class="computeroutput"><span class="identifier">ch1</span></code>
- and not larger then the character value of <code class="computeroutput"><span class="identifier">ch2</span></code>
- (i.e. <code class="computeroutput"><span class="identifier">ch1</span> <span class="special">&lt;=</span>
- <span class="identifier">ch</span> <span class="special">&lt;=</span>
- <span class="identifier">ch2</span></code>).
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">charset</span></code> parameter
- passed to <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
- must be a string containing more than one character. Every single character
- in this string is assumed to belong to the character set defined by this
- expression. An exception to this is the <code class="computeroutput"><span class="char">'-'</span></code>
- character which has a special meaning if it is not specified as the first
- and not the last character in <code class="computeroutput"><span class="identifier">charset</span></code>.
- If the <code class="computeroutput"><span class="char">'-'</span></code> is used in between
- to characters it is interpreted as spanning a character range. A character
- <code class="computeroutput"><span class="identifier">ch</span></code> is considered to belong
- to the defined character set <code class="computeroutput"><span class="identifier">charset</span></code>
- if it matches one of the characters as specified by the string parameter
- described above. For example
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Example
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"abc"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- 'a', 'b', and 'c'
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-z"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- all characters (and including) from 'a' to 'z'
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- all characters (and including) from 'a' to 'z' and 'A' and 'Z'
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"-1-9"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- '-' and all characters (and including) from '1' to '9'
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.char.char_generator.attributes"></a><h6>
-<a name="id1175022"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.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">ch</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">unused</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">unused</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
- is mandatory (otherwise compilation will fail)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
- is optional, if it is supplied, the generator compares the attribute
- with <code class="computeroutput"><span class="identifier">ch</span></code> and succeeds
- only if both are equal, failing otherwise
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
- is optional, if it is supplied, the generator compares the attribute
- with <code class="computeroutput"><span class="identifier">c</span></code> and succeeds
- only if both are equal, failing otherwise
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span>
- <span class="identifier">ch2</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
- is mandatory (otherwise compilation will fail), the generator
- succeeds if the attribute belongs to the character range <code class="computeroutput"><span class="special">[</span><span class="identifier">ch1</span><span class="special">,</span> <span class="identifier">ch2</span><span class="special">]</span></code> interpreted in the character
- set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
- is mandatory (otherwise compilation will fail), the generator
- succeeds if the attribute belongs to the character set <code class="computeroutput"><span class="identifier">charset</span></code>, interpreted in the
- character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.char.char_generator.complexity"></a><h6>
-<a name="id1175444"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- O(1)
- </p>
-<p>
- </p>
-</blockquote></div>
-<p>
- The complexity of <code class="computeroutput"><span class="identifier">ch</span></code>,
- <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>,
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>, <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>, and <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code> is constant as all generators emit exactly
- one character per invocation.
- </p>
-<p>
- The character range generator (<code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span> <span class="identifier">ch2</span><span class="special">)</span></code>) additionally requires constant lookup
- time for the verification whether the attribute belongs to the character
- range.
- </p>
-<p>
- The character set generator (<code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>) additionally requires O(log N) lookup
- time for the verification whether the attribute belongs to the character
- set, where N is the number of characters in the character set.
- </p>
-<a name="spirit.karma.reference.char.char_generator.example"></a><h6>
-<a name="id1175628"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_generator.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 these common test functions:
- </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">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">test_generator</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special">&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="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>
-
-</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">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Basic usage of <code class="computeroutput"><span class="identifier">char_</span></code>
- generators:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">test_generator</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="char">'A'</span><span class="special">);</span>
-<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="char">'A'</span><span class="special">));</span>
-
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"a"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
-<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">));</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">),</span> <span class="char">'A'</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">),</span> <span class="char">'B'</span><span class="special">);</span> <span class="comment">// fails (as 'A' != 'B')
-</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span> <span class="char">'Z'</span><span class="special">),</span> <span class="char">'A'</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span> <span class="char">'Z'</span><span class="special">),</span> <span class="char">'a'</span><span class="special">);</span> <span class="comment">// fails (as 'a' does not belong to 'A'...'Z')
-</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"k"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="string">"a-z0-9"</span><span class="special">),</span> <span class="char">'k'</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="string">"a-z0-9"</span><span class="special">),</span> <span class="char">'A'</span><span class="special">);</span> <span class="comment">// fails (as 'A' does not belong to "a-z0-9")
-</span></pre>
-<p>
- </p>
-<p>
- </p>
-</div>
-<div class="section" title="Character Class Generators">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.char.char_class"></a><a class="link" href="char.html#spirit.karma.reference.char.char_class" title="Character Class Generators"> Character
- Class Generators</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.char.char_class.description"></a><h6>
-<a name="id1178168"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.description">Description</a>
- </h6>
-<p>
- The character class generators described in this section are:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">alnum</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalnum</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">alpha</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- thh concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalpha</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">blank</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isblank</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">cntrl</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iscntrl</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">digit</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isdigit</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">graph</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isgraph</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">print</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isprint</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">punct</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ispunct</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">xdigit</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isxdigit</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">lower</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">upper</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code>
- in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">space</span></code>
- </p>
- </td>
-<td>
- <p>
- Generates the character supplied as the attribute if it satisfies
- the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span></code>
- in or a single space character the character set defined by
- <code class="computeroutput"><span class="identifier">ns</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- In the table above, <code class="computeroutput"><span class="identifier">ns</span></code>
- is a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
- Encoding Namespace</a> used by the corresponding character class generator.
- All listed generators have a mandatory attribute <code class="computeroutput"><span class="identifier">Ch</span></code>
- and will not compile if no attribute is associated.
- </p>
-<a name="spirit.karma.reference.char.char_class.header"></a><h6>
-<a name="id1178874"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.header">Header</a>
- </h6>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char_class.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_char_class</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.char.char_class.model_of"></a><h6>
-<a name="id1178949"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">ns</span></code></span></dt>
-<dd><p>
- A <a class="link" href="../../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
- Encoding Namespace</a>.
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.char.char_class.expression_semantics"></a><h6>
-<a name="id1179017"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.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.html#spirit.karma.reference.generator_concepts.primitivegenerator" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</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">ns</span><span class="special">::</span><span class="identifier">alnum</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalnum</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">alpha</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalpha</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">blank</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isblank</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">cntrl</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iscntrl</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">digit</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isdigit</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">graph</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isgraph</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">print</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isprint</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">punct</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ispunct</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">xdigit</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isxdigit</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">lower</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">upper</span></code>
- </p>
- </td>
-<td>
- <p>
- If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">space</span></code>
- </p>
- </td>
-<td>
- <p>
- If the optional attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span></code> the generator succeeds
- after emitting its attribute (except if the underlying output
- stream reports an error). This generator fails otherwise while
- not generating anything.If no attribute is supplied this generator
- emits a single space character in the character set defined by
- <code class="computeroutput"><span class="identifier">ns</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Possible values for <code class="computeroutput"><span class="identifier">ns</span></code>
- are described in the section <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
- Encoding Namespace</a>.
- </p>
-<div class="note" title="Note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The generators <code class="computeroutput"><span class="identifier">alpha</span></code>
- and <code class="computeroutput"><span class="identifier">alnum</span></code> might seem
- to behave unexpected if used inside a <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code> or <code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> directive. Both directives additionally
- apply the semanitics of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code>
- or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code> to the respective character
- class. Some examples:
-</p>
-<pre class="programlisting"><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="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">lower</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'a'</span><span class="special">);</span> <span class="comment">// succeeds emitting 'a'
-</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">lower</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'A'</span><span class="special">);</span> <span class="comment">// fails
-</span></pre>
-<p>
- The generator directive <code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> behaves correspondingly.
- </p>
-</td></tr>
-</table></div>
-<a name="spirit.karma.reference.char.char_class.attributes"></a><h6>
-<a name="id1179891"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.attributes">Attributes</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- All listed character class generators can take any attribute <code class="computeroutput"><span class="identifier">Ch</span></code>. All character class generators
- (except <code class="computeroutput"><span class="identifier">space</span></code>) require
- an attribute and will fail compiling otherwise.
- </p>
-<p>
- </p>
-</blockquote></div>
-<a name="spirit.karma.reference.char.char_class.complexity"></a><h6>
-<a name="id1179930"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- O(1)
- </p>
-<p>
- </p>
-</blockquote></div>
-<p>
- The complexity is constant as the generators emit not more than one character
- per invocation.
- </p>
-<a name="spirit.karma.reference.char.char_class.example"></a><h6>
-<a name="id1179958"></a>
- <a class="link" href="char.html#spirit.karma.reference.char.char_class.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 these common test functions:
- </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">alpha</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Basic usage of an <code class="computeroutput"><span class="identifier">alpha</span></code>
- generator:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"a"</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="char">'A'</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="char">'1'</span><span class="special">);</span> <span class="comment">// fails (as isalpha('1') is false)
-</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">upper</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'a'</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">upper</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'a'</span><span class="special">);</span> <span class="comment">// fails (as isupper('a') is false)
-</span></pre>
-<p>
- </p>
-<p>
- </p>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -1325,7 +56,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="numeric.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<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="char/char_generator.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,634 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Character Class Generators</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="../char.html" title="Char">
+<link rel="prev" href="char_generator.html" title="Character Generators">
+<link rel="next" href="../numeric.html" title="Numeric">
+</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="char_generator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../char.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="../numeric.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Character Class Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.char.char_class"></a><a class="link" href="char_class.html" title="Character Class Generators"> Character
+ Class Generators</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.char.char_class.description"></a><h6>
+<a name="id1199126"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.description">Description</a>
+ </h6>
+<p>
+ The character class generators described in this section are:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">alnum</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalnum</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">alpha</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ thh concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalpha</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">blank</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isblank</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">cntrl</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iscntrl</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">digit</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isdigit</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">graph</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isgraph</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">print</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isprint</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">punct</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ispunct</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">xdigit</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isxdigit</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">lower</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">upper</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code>
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">space</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it satisfies
+ the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span></code>
+ in or a single space character the character set defined by
+ <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ In the table above, <code class="computeroutput"><span class="identifier">ns</span></code>
+ is a <a class="link" href="../karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
+ Encoding Namespace</a> used by the corresponding character class generator.
+ All listed generators have a mandatory attribute <code class="computeroutput"><span class="identifier">Ch</span></code>
+ and will not compile if no attribute is associated.
+ </p>
+<a name="spirit.karma.reference.char.char_class.header"></a><h6>
+<a name="id1199832"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char_class.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_char_class</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.char.char_class.model_of"></a><h6>
+<a name="id1199907"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.model_of">Model
+ of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">ns</span></code></span></dt>
+<dd><p>
+ A <a class="link" href="../../../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
+ Encoding Namespace</a>.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.karma.reference.char.char_class.expression_semantics"></a><h6>
+<a name="id1199975"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.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/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</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">ns</span><span class="special">::</span><span class="identifier">alnum</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalnum</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">alpha</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isalpha</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">blank</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isblank</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">cntrl</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iscntrl</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">digit</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isdigit</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">graph</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isgraph</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">print</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isprint</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">punct</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ispunct</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">xdigit</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isxdigit</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">lower</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">upper</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the mandatory attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">space</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the optional attribute satisfies the concept of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span></code> the generator succeeds
+ after emitting its attribute (except if the underlying output
+ stream reports an error). This generator fails otherwise while
+ not generating anything.If no attribute is supplied this generator
+ emits a single space character in the character set defined by
+ <code class="computeroutput"><span class="identifier">ns</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Possible values for <code class="computeroutput"><span class="identifier">ns</span></code>
+ are described in the section <a class="link" href="../karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
+ Encoding Namespace</a>.
+ </p>
+<div class="note" title="Note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The generators <code class="computeroutput"><span class="identifier">alpha</span></code>
+ and <code class="computeroutput"><span class="identifier">alnum</span></code> might seem
+ to behave unexpected if used inside a <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code> or <code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> directive. Both directives additionally
+ apply the semanitics of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">islower</span></code>
+ or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">isupper</span></code> to the respective character
+ class. Some examples:
+</p>
+<pre class="programlisting"><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="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">lower</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'a'</span><span class="special">);</span> <span class="comment">// succeeds emitting 'a'
+</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">lower</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'A'</span><span class="special">);</span> <span class="comment">// fails
+</span></pre>
+<p>
+ The generator directive <code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> behaves correspondingly.
+ </p>
+</td></tr>
+</table></div>
+<a name="spirit.karma.reference.char.char_class.attributes"></a><h6>
+<a name="id1200849"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.attributes">Attributes</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ All listed character class generators can take any attribute <code class="computeroutput"><span class="identifier">Ch</span></code>. All character class generators
+ (except <code class="computeroutput"><span class="identifier">space</span></code>) require
+ an attribute and will fail compiling otherwise.
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.char.char_class.complexity"></a><h6>
+<a name="id1200888"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ O(1)
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ The complexity is constant as the generators emit not more than one character
+ per invocation.
+ </p>
+<a name="spirit.karma.reference.char.char_class.example"></a><h6>
+<a name="id1200916"></a>
+ <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.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 these common test functions:
+ </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">alpha</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of an <code class="computeroutput"><span class="identifier">alpha</span></code>
+ generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"a"</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="char">'A'</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="char">'1'</span><span class="special">);</span> <span class="comment">// fails (as isalpha('1') is false)
+</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">upper</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'a'</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">upper</span><span class="special">[</span><span class="identifier">alpha</span><span class="special">],</span> <span class="char">'a'</span><span class="special">);</span> <span class="comment">// fails (as isupper('a') is false)
+</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="char_generator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../char.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="../numeric.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -0,0 +1,713 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Character Generators</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="../char.html" title="Char">
+<link rel="prev" href="../char.html" title="Char">
+<link rel="next" href="char_class.html" title="Character Class Generators">
+</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="../char.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../char.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="char_class.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Character Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.char.char_generator"></a><a class="link" href="char_generator.html" title="Character Generators"> Character
+ Generators</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.char.char_generator.description"></a><h6>
+<a name="id1193665"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.description">Description</a>
+ </h6>
+<p>
+ The character generators described in this section are:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>,
+ same as <code class="computeroutput"><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">lit</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the mandatory attribute as a single character interpreted
+ in the character set define by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>
+ as a character interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>, if an attribute is supplied
+ it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates <code class="computeroutput"><span class="identifier">c</span></code> as
+ a character interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>, if an attribute is supplied
+ it must match, equivalent to <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="char">'c'</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span>
+ <span class="identifier">ch2</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it belongs
+ to the character range interpreted in the character set defined
+ by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates the character supplied as the attribute if it belongs
+ to <code class="computeroutput"><span class="identifier">charset</span></code> interpreted
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ In the table above, <code class="computeroutput"><span class="identifier">ns</span></code>
+ is a <a class="link" href="../karma_basics.html#spirit.karma.reference.karma_basics.character_encoding_namespace">Character
+ Encoding Namespace</a> used by the corresponding character generator.
+ </p>
+<a name="spirit.karma.reference.char.char_generator.header"></a><h6>
+<a name="id1194117"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char.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_char_</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.char.char_generator.model_of"></a><h6>
+<a name="id1194192"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.model_of">Model
+ of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <a class="link" href="../generator_concepts/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">ch</span></code>,
+ <code class="computeroutput"><span class="identifier">ch1</span></code>, <code class="computeroutput"><span class="identifier">ch2</span></code></span></dt>
+<dd><p>
+ Character-class specific character (See Character Class Types), or
+ a <a class="link" href="../karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a character-class specific character
+ value
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">charset</span></code></span></dt>
+<dd><p>
+ Character-set specifier string (See Character Class Types), or a
+ <a class="link" href="../karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a character-set specifier string,
+ or a pointer/reference to a null-terminated array of characters.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">ns</span></code></span></dt>
+<dd><p>
+ A <a class="link" href="../../../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
+ Encoding Namespace</a>.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.karma.reference.char.char_generator.expression_semantics"></a><h6>
+<a name="id1194320"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.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/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character literal <code class="computeroutput"><span class="identifier">ch</span></code>.
+ This generator never fails (except if the underlying output stream
+ reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character literal <code class="computeroutput"><span class="identifier">ch</span></code>.
+ This generator never fails (except if the underlying output stream
+ reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character provided by a mandatory attribute interpreted
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
+ This generator never fails (except if the underlying output stream
+ reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character <code class="computeroutput"><span class="identifier">ch</span></code>
+ as provided by the immediate literal value the generator is initialized
+ from. If this generator has an associated attribute it succeeds
+ only as long as the attribute is equal to the immediate literal
+ (except if the underlying output stream reports an error). Otherwise
+ this generator fails and does not generate any output.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character <code class="computeroutput"><span class="identifier">c</span></code>
+ as provided by the immediate literal value the generator is initialized
+ from. If this generator has an associated attribute it succeeds
+ only as long as the attribute is equal to the immediate literal
+ (except if the underlying output stream reports an error). Otherwise
+ this generator fails and does not generate any output.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span>
+ <span class="identifier">ch2</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character provided by a mandatory attribute interpreted
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
+ The generator succeeds as long as the attribute belongs to the
+ character range <code class="computeroutput"><span class="special">[</span><span class="identifier">ch1</span><span class="special">,</span>
+ <span class="identifier">ch2</span><span class="special">]</span></code>
+ (except if the underlying output stream reports an error). Otherwise
+ this generator fails and does not generate any output.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the character provided by a mandatory attribute interpreted
+ in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
+ The generator succeeds as long as the attribute belongs to the
+ character set <code class="computeroutput"><span class="identifier">charset</span></code>
+ (except if the underlying output stream reports an error). Otherwise
+ this generator fails and does not generate any output.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ A character <code class="computeroutput"><span class="identifier">ch</span></code> is assumed
+ to belong to the character range defined by <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span> <span class="identifier">ch2</span><span class="special">)</span></code> if its character value (binary representation)
+ interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ is not smaller than the character value of <code class="computeroutput"><span class="identifier">ch1</span></code>
+ and not larger then the character value of <code class="computeroutput"><span class="identifier">ch2</span></code>
+ (i.e. <code class="computeroutput"><span class="identifier">ch1</span> <span class="special">&lt;=</span>
+ <span class="identifier">ch</span> <span class="special">&lt;=</span>
+ <span class="identifier">ch2</span></code>).
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">charset</span></code> parameter
+ passed to <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
+ must be a string containing more than one character. Every single character
+ in this string is assumed to belong to the character set defined by this
+ expression. An exception to this is the <code class="computeroutput"><span class="char">'-'</span></code>
+ character which has a special meaning if it is not specified as the first
+ and not the last character in <code class="computeroutput"><span class="identifier">charset</span></code>.
+ If the <code class="computeroutput"><span class="char">'-'</span></code> is used in between
+ to characters it is interpreted as spanning a character range. A character
+ <code class="computeroutput"><span class="identifier">ch</span></code> is considered to belong
+ to the defined character set <code class="computeroutput"><span class="identifier">charset</span></code>
+ if it matches one of the characters as specified by the string parameter
+ described above. For example
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Example
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"abc"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 'a', 'b', and 'c'
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-z"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ all characters (and including) from 'a' to 'z'
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"a-zA-Z"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ all characters (and including) from 'a' to 'z' and 'A' and 'Z'
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"-1-9"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ '-' and all characters (and including) from '1' to '9'
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.char.char_generator.attributes"></a><h6>
+<a name="id1195433"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.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">ch</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
+ is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
+ is optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">ch</span></code> and succeeds
+ only if both are equal, failing otherwise
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
+ is optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">c</span></code> and succeeds
+ only if both are equal, failing otherwise
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span>
+ <span class="identifier">ch2</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
+ is mandatory (otherwise compilation will fail), the generator
+ succeeds if the attribute belongs to the character range <code class="computeroutput"><span class="special">[</span><span class="identifier">ch1</span><span class="special">,</span> <span class="identifier">ch2</span><span class="special">]</span></code> interpreted in the character
+ set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>, attribute
+ is mandatory (otherwise compilation will fail), the generator
+ succeeds if the attribute belongs to the character set <code class="computeroutput"><span class="identifier">charset</span></code>, interpreted in the
+ character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.char.char_generator.complexity"></a><h6>
+<a name="id1195856"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ O(1)
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ The complexity of <code class="computeroutput"><span class="identifier">ch</span></code>,
+ <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>,
+ <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span></code>, <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>, and <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code> is constant as all generators emit exactly
+ one character per invocation.
+ </p>
+<p>
+ The character range generator (<code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch1</span><span class="special">,</span> <span class="identifier">ch2</span><span class="special">)</span></code>) additionally requires constant lookup
+ time for the verification whether the attribute belongs to the character
+ range.
+ </p>
+<p>
+ The character set generator (<code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">charset</span><span class="special">)</span></code>) additionally requires O(log N) lookup
+ time for the verification whether the attribute belongs to the character
+ set, where N is the number of characters in the character set.
+ </p>
+<a name="spirit.karma.reference.char.char_generator.example"></a><h6>
+<a name="id1196039"></a>
+ <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.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 these common test functions:
+ </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">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">test_generator</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special">&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="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>
+
+</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">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of <code class="computeroutput"><span class="identifier">char_</span></code>
+ generators:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">test_generator</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="char">'A'</span><span class="special">);</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="char">'A'</span><span class="special">));</span>
+
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"a"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">));</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">),</span> <span class="char">'A'</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">),</span> <span class="char">'B'</span><span class="special">);</span> <span class="comment">// fails (as 'A' != 'B')
+</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"A"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span> <span class="char">'Z'</span><span class="special">),</span> <span class="char">'A'</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span> <span class="char">'Z'</span><span class="special">),</span> <span class="char">'a'</span><span class="special">);</span> <span class="comment">// fails (as 'a' does not belong to 'A'...'Z')
+</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"k"</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="string">"a-z0-9"</span><span class="special">),</span> <span class="char">'k'</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">char_</span><span class="special">(</span><span class="string">"a-z0-9"</span><span class="special">),</span> <span class="char">'A'</span><span class="special">);</span> <span class="comment">// fails (as 'A' does not belong to "a-z0-9")
+</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="../char.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../char.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="char_class.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html 2009-08-23 22:07:18 EDT (Sun, 23 Aug 2009)
@@ -6,8 +6,8 @@
 <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="numeric.html" title="Numeric">
-<link rel="next" href="operator.html" title="Operator">
+<link rel="prev" href="numeric/floating_point.html" title="Floating Point Number Generators">
+<link rel="next" href="directive/alignment.html" title="Alignment Directives (left_align[], center[], and right_align[])">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,26 +20,26 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="numeric.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="numeric/floating_point.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/alignment.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.html#spirit.karma.reference.directive.alignment"> Alignment
+<dt><span class="section"><a href="directive/alignment.html"> Alignment
           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>)</a></span></dt>
-<dt><span class="section"><a href="directive.html#spirit.karma.reference.directive.repeat"> Repetition
+<dt><span class="section"><a href="directive/repeat.html"> Repetition
           Directive (<code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code>)</a></span></dt>
-<dt><span class="section"><a href="directive.html#spirit.karma.reference.directive.delimit"> Directives
+<dt><span class="section"><a href="directive/delimit.html"> 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>)</a></span></dt>
-<dt><span class="section"><a href="directive.html#spirit.karma.reference.directive.upperlower"> Directives
+<dt><span class="section"><a href="directive/upperlower.html"> Directives
           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>)</a></span></dt>
-<dt><span class="section"><a href="directive.html#spirit.karma.reference.directive.maxwidth"> Controlling
+<dt><span class="section"><a href="directive/maxwidth.html"> Controlling
           the Maximum Field Wield (<code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[]</span></code>)</a></span></dt>
-<dt><span class="section"><a href="directive.html#spirit.karma.reference.directive.buffer"> Temporary
+<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.html#spirit.karma.reference.directive.omit"> Consume Attribute
+<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>
@@ -50,2468 +50,12 @@
           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">maxwidth</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="id1203670"></a>
+<a name="id1224448"></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 class="section" title="Alignment Directives (left_align[], center[], and right_align[])">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.directive.alignment"></a><a class="link" href="directive.html#spirit.karma.reference.directive.alignment" title="Alignment Directives (left_align[], center[], and right_align[])"> Alignment
- 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>)</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.directive.alignment.description"></a><h6>
-<a name="id1203847"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.description">Description</a>
- </h6>
-<p>
- The alignment directives allow to left align, right align or center output
- emitted by other generators into columns of a specified width while using
- an arbitrary generator to create the padding.
- </p>
-<a name="spirit.karma.reference.directive.alignment.header"></a><h6>
-<a name="id1203864"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.header">Header</a>
- </h6>
-<p>
- For the <code class="computeroutput"><span class="identifier">left_align</span><span class="special">[]</span></code>
- directive:
- </p>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/left_alignment.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_left_alignment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- For the <code class="computeroutput"><span class="identifier">center</span><span class="special">[]</span></code>
- directive:
- </p>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/center_alignment.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_center_alignment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- For the <code class="computeroutput"><span class="identifier">right_align</span><span class="special">[]</span></code>
- directive:
- </p>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/right_alignment.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_right_alignment</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.alignment.model_of"></a><h6>
-<a name="id1204087"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
-<dd><p>
- A generator object
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">pad</span></code></span></dt>
-<dd><p>
- A generator object, or a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to a generator object
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">A</span></code>,
- <code class="computeroutput"><span class="identifier">Pad</span></code></span></dt>
-<dd><p>
- Attribute types of the generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code>
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">width</span></code></span></dt>
-<dd><p>
- Numeric literal, any unsigned integer value, or a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to an unsigned integer value
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.directive.alignment.expression_semantics"></a><h6>
-<a name="id1204237"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.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.html#spirit.karma.reference.generator_concepts.unarygenerator" 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">left_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> left
- aligned in a column of width as defined by the preprocessor constant
- <code class="computeroutput"><span class="identifier">BOOST_KARMA_DEFAULT_FIELD_LENGTH</span></code>
- (default: 10), while using <code class="computeroutput"><span class="identifier">space</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail (except if the underlying output stream reports
- an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> left
- aligned in a column of the given <code class="computeroutput"><span class="identifier">width</span></code>,
- while using <code class="computeroutput"><span class="identifier">space</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail (except if the underlying output stream reports
- an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> left
- aligned in a column of width as defined by the preprocessor constant
- <code class="computeroutput"><span class="identifier">BOOST_KARMA_DEFAULT_FIELD_LENGTH</span></code>
- (default: 10), while using the generator <code class="computeroutput"><span class="identifier">pad</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded and padding generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code> do not
- fail (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span>
- <span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> left
- aligned in a column of the given <code class="computeroutput"><span class="identifier">width</span></code>,
- while using the generator <code class="computeroutput"><span class="identifier">pad</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded and padding generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code> do not
- fail (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> centered
- in a column of width as defined by the preprocessor constant
- <code class="computeroutput"><span class="identifier">BOOST_KARMA_DEFAULT_FIELD_LENGTH</span></code>
- (default: 10), while using <code class="computeroutput"><span class="identifier">space</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail (except if the underlying output stream reports
- an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> centered
- in a column of the given <code class="computeroutput"><span class="identifier">width</span></code>,
- while using <code class="computeroutput"><span class="identifier">space</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail (except if the underlying output stream reports
- an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> centered
- in a column of width as defined by the preprocessor constant
- <code class="computeroutput"><span class="identifier">BOOST_KARMA_DEFAULT_FIELD_LENGTH</span></code>
- (default: 10), while using the generator <code class="computeroutput"><span class="identifier">pad</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded and padding generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code> do not
- fail (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span>
- <span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> centered
- in a column of the given <code class="computeroutput"><span class="identifier">width</span></code>,
- while using the generator <code class="computeroutput"><span class="identifier">pad</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded and padding generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code> do not
- fail (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> right
- aligned in a column of width as defined by the preprocessor constant
- <code class="computeroutput"><span class="identifier">BOOST_KARMA_DEFAULT_FIELD_LENGTH</span></code>
- (default: 10), while using <code class="computeroutput"><span class="identifier">space</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail (except if the underlying output stream reports
- an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> right
- aligned in a column of the given <code class="computeroutput"><span class="identifier">width</span></code>,
- while using <code class="computeroutput"><span class="identifier">space</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail (except if the underlying output stream reports
- an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> right
- aligned in a column of width as defined by the preprocessor constant
- <code class="computeroutput"><span class="identifier">BOOST_KARMA_DEFAULT_FIELD_LENGTH</span></code>
- (default: 10), while using the generator <code class="computeroutput"><span class="identifier">pad</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded and padding generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code> do not
- fail (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span>
- <span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> right
- aligned in a column of the given <code class="computeroutput"><span class="identifier">width</span></code>,
- while using the generator <code class="computeroutput"><span class="identifier">pad</span></code>
- to emit the necessary padding. This generator succeeds as long
- as its embedded and padding generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">pad</span></code> do not
- fail (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<div class="note" title="Note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- None of the generator directives listed above limit the emitted output
- to the respective column width. If the emitted output is longer than
- the specified (or implied) column width, the generated output overruns
- the column to the right.
- </p>
-<p>
- If the output needs to be limitted to a specified column width, use
- the <code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[]</span></code>
- directive, for instance:
-</p>
-<pre class="programlisting"><span class="identifier">maxwidth</span><span class="special">(</span><span class="number">8</span><span class="special">)[</span><span class="identifier">right_align</span><span class="special">(</span><span class="number">12</span><span class="special">)[</span><span class="string">"1234567890"</span><span class="special">]]</span>
-</pre>
-<p>
- which will output: <code class="computeroutput"><span class="string">" 123456"</span></code>
- (without the quotes).
- </p>
-</td></tr>
-</table></div>
-<a name="spirit.karma.reference.directive.alignment.attributes"></a><h6>
-<a name="id1205276"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.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">left_align</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">left_align</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">left_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">width</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">left_align</span><span class="special">(</span><span class="identifier">width</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">left_align</span><span class="special">(</span><span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span>
- <span class="identifier">width</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span> <span class="identifier">width</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">left_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span> <span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</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">center</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">center</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">width</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">center</span><span class="special">(</span><span class="identifier">width</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">center</span><span class="special">(</span><span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span>
- <span class="identifier">width</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span> <span class="identifier">width</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">center</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span> <span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</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">right_align</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">right_align</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">width</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">right_align</span><span class="special">(</span><span class="identifier">width</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">right_align</span><span class="special">(</span><span class="identifier">width</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span>
- <span class="identifier">width</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span> <span class="identifier">width</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">,</span> <span class="identifier">pad</span><span class="special">:</span> <span class="identifier">Pad</span> <span class="special">--&gt;</span> <span class="identifier">right_align</span><span class="special">(</span><span class="identifier">pad</span><span class="special">,</span> <span class="identifier">width</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.alignment.complexity"></a><h6>
-<a name="id1207218"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- The overall complexity of the alignment generator directives is defined
- by the complexity of its embedded and padding generator. The complexity
- of the left alignment directive generator itself is O(1). The complexity
- of the center and right alignment directive generators itself is
- O(N). where <code class="computeroutput"><span class="identifier">N</span></code> is
- the number of characters emitted by the embedded and padding generators.
- </p>
-<p>
- </p>
-</blockquote></div>
-<a name="spirit.karma.reference.directive.alignment.example"></a><h6>
-<a name="id1207250"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.alignment.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">left_align</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">center</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">right_align</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Basic usage of the alignment generators:
- </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">"1.0 |2.0"</span><span class="special">,</span> <span class="identifier">left_align</span><span class="special">(</span><span class="number">8</span><span class="special">)[</span><span class="identifier">double_</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="char">'|'</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>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">" 1.0 |2.0"</span><span class="special">,</span> <span class="identifier">center</span><span class="special">(</span><span class="number">8</span><span class="special">)[</span><span class="identifier">double_</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="char">'|'</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>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">" 1.0|2.0"</span><span class="special">,</span> <span class="identifier">right_align</span><span class="special">(</span><span class="number">8</span><span class="special">)[</span><span class="identifier">double_</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="char">'|'</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>
-</div>
-<div class="section" title="Repetition Directive (repeat[])">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.directive.repeat"></a><a class="link" href="directive.html#spirit.karma.reference.directive.repeat" title="Repetition Directive (repeat[])"> Repetition
- Directive (<code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code>)</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.directive.repeat.description"></a><h6>
-<a name="id1209594"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.description">Description</a>
- </h6>
-<p>
- The repetition directive allows to repeat an arbitrary generator expression
- while optionally specifying the lower and upper repetition counts.
- </p>
-<a name="spirit.karma.reference.directive.repeat.header"></a><h6>
-<a name="id1209611"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.header">Header</a>
- </h6>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/repeat.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_repeat</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.repeat.model_of"></a><h6>
-<a name="id1209685"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
-<dd><p>
- A generator object
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">num</span><span class="special">,</span> <span class="identifier">num1</span><span class="special">,</span> <span class="identifier">num2</span></code></span></dt>
-<dd><p>
- Numeric literals, any unsigned integer value, or a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to an unsigned integer value
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">inf</span></code></span></dt>
-<dd><p>
- Placeholder expression standing for 'no upper repeat limit'
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.directive.repeat.expression_semantics"></a><h6>
-<a name="id1209808"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.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.html#spirit.karma.reference.generator_concepts.unarygenerator" 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">repeat</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Repeat the generator <code class="computeroutput"><span class="identifier">a</span></code>
- zero or more times. This generator succeeds as long as its embedded
- generator <code class="computeroutput"><span class="identifier">a</span></code> does
- not fail (except if the underlying output stream reports an error).
- This variant of <code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code> is semantically equivalent
- to the <a class="link" href="operator.html#spirit.karma.reference.operator.kleene" title="Kleene Star (unary operator*())">Kleene
- Star operator <code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code></a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Repeat the generator <code class="computeroutput"><span class="identifier">a</span></code>
- exactly <code class="computeroutput"><span class="identifier">num</span></code> times.
- This generator succeeds as long as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code> does not fail and as long
- as the associated attribute (container) contains at least <code class="computeroutput"><span class="identifier">num</span></code> elements (except if the
- underlying output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num1</span><span class="special">,</span>
- <span class="identifier">num2</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Repeat the generator <code class="computeroutput"><span class="identifier">a</span></code>
- at least <code class="computeroutput"><span class="identifier">num1</span></code>
- times but not more than <code class="computeroutput"><span class="identifier">num2</span></code>
- times. This generator succeeds as long as its embedded generator
- <code class="computeroutput"><span class="identifier">a</span></code> does not fail
- and as long as the associated attribute (container) contains
- at least <code class="computeroutput"><span class="identifier">num1</span></code>
- elements (except if the underlying output stream reports an error).
- If the associated attribute (container) does contain more than
- <code class="computeroutput"><span class="identifier">num2</span></code> elements,
- this directive limits the repeat count to <code class="computeroutput"><span class="identifier">num2</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
- <span class="identifier">inf</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Repeat the generator <code class="computeroutput"><span class="identifier">a</span></code>
- at least <code class="computeroutput"><span class="identifier">num1</span></code>
- times. No upper limit for the repeat count is set. This generator
- succeeds as long as its embedded generator <code class="computeroutput"><span class="identifier">a</span></code>
- does not fail and as long as the associated attribute (container)
- contains at least <code class="computeroutput"><span class="identifier">num</span></code>
- elements (except if the underlying output stream reports an error).
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.directive.repeat.attributes"></a><h6>
-<a name="id1210198"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.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">repeat</span><span class="special">[</span><span class="identifier">a</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">repeat</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
-<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--&gt;</span> <span class="identifier">repeat</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</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">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
-<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--&gt;</span> <span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num1</span><span class="special">,</span>
- <span class="identifier">num2</span><span class="special">)[</span><span class="identifier">a</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">repeat</span><span class="special">(</span><span class="identifier">num1</span><span class="special">,</span> <span class="identifier">num2</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
-<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--&gt;</span> <span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num1</span><span class="special">,</span> <span class="identifier">num2</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span>
- <span class="identifier">inf</span><span class="special">)[</span><span class="identifier">a</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">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span> <span class="identifier">inf</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
-<span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span> <span class="special">--&gt;</span> <span class="identifier">repeat</span><span class="special">(</span><span class="identifier">num</span><span class="special">,</span> <span class="identifier">inf</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<div class="important" title="Important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The table above uses <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span></code> as placeholders only.
- </p>
-<p>
- The notation of <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span></code> stands for <span class="emphasis"><em>any STL container</em></span>
- holding elements of type <code class="computeroutput"><span class="identifier">A</span></code>.
- </p>
-</td></tr>
-</table></div>
-<a name="spirit.karma.reference.directive.repeat.complexity"></a><h6>
-<a name="id1210917"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- The overall complexity of the repetition generator is defined by
- the complexity of its embedded generator. The complexity of the repeat
- itself is O(N), where N is the number of repetitions to execute.
- </p>
-<p>
- </p>
-</blockquote></div>
-<a name="spirit.karma.reference.directive.repeat.example"></a><h6>
-<a name="id1210941"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.repeat.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">repeat</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Basic usage of <code class="computeroutput"><span class="identifier">repeat</span></code>
- generator directive:
- </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="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="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">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">3.0</span><span class="special">);</span>
-
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"[1.0][2.0][3.0]"</span><span class="special">,</span> <span class="identifier">repeat</span><span class="special">[</span><span class="char">'['</span> <span class="special">&lt;&lt;</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">test_generator_attr</span><span class="special">(</span><span class="string">"[1.0][2.0]"</span><span class="special">,</span> <span class="identifier">repeat</span><span class="special">(</span><span class="number">2</span><span class="special">)[</span><span class="char">'['</span> <span class="special">&lt;&lt;</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="comment">// fails because of insufficient number of items
-</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">""</span><span class="special">,</span> <span class="identifier">repeat</span><span class="special">(</span><span class="number">4</span><span class="special">)[</span><span class="char">'['</span> <span class="special">&lt;&lt;</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>
-<div class="section" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.directive.delimit"></a><a class="link" href="directive.html#spirit.karma.reference.directive.delimit" title="Directives Controlling Automatic Delimiting (verbatim[] and delimit[])"> 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>)</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.directive.delimit.description"></a><h6>
-<a name="id1213262"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.description">Description</a>
- </h6>
-<p>
- The directives <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code> can be used to control automatic delimiting.
- The directive <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code> disabled any automatic delimiting,
- while the directive <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code> (re-)enable automatic delimiting.
- </p>
-<a name="spirit.karma.reference.directive.delimit.header"></a><h6>
-<a name="id1213322"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.header">Header</a>
- </h6>
-<p>
- For the <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code>
- directive:
- </p>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/verbatim.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_verbatim</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- For the <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code>
- directive:
- </p>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/delimit.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_delimit</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.delimit.model_of"></a><h6>
-<a name="id1213478"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
-<dd><p>
- A generator object
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">d</span></code></span></dt>
-<dd><p>
- A generator object, or a <a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
- Argument</a> that evaluates to a generator object
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">A</span></code>,
- <code class="computeroutput"><span class="identifier">D</span></code></span></dt>
-<dd><p>
- Attribute types of the generators <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">d</span></code>
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.directive.delimit.expression_semantics"></a><h6>
-<a name="id1213604"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.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.html#spirit.karma.reference.generator_concepts.unarygenerator" 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">delimit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Enable automatic delimiting for the embedded generator <code class="computeroutput"><span class="identifier">a</span></code> while using the <code class="computeroutput"><span class="identifier">space</span></code> generator as the delimiting
- generator. If used inside a <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code> directive it re-enables the
- delimiter generator as used outside of this <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code> instead. The directive succeeds
- as long as the embedded generator succeeded (except if the underlying
- output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">delimit</span><span class="special">(</span><span class="identifier">d</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Enable automatic delimiting for the embedded generator <code class="computeroutput"><span class="identifier">a</span></code> while using the generator
- <code class="computeroutput"><span class="identifier">d</span></code> as the delimiting
- generator. The directive succeeds as long as the embedded generator
- succeeded (except if the underlying output stream reports an
- error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Disable automatic delimiting for the embedded generator <code class="computeroutput"><span class="identifier">a</span></code>. The directive succeeds as
- long as the embedded generator succeeded (except if the underlying
- output stream reports an error). This directive it has no effect
- if it is used when no delimiting is active.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="spirit.karma.reference.directive.delimit.attributes"></a><h6>
-<a name="id1213838"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.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">delimit</span><span class="special">[</span><span class="identifier">a</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">delimit</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">delimit</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">delimit</span><span class="special">(</span><span class="identifier">d</span><span class="special">)[</span><span class="identifier">a</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">,</span> <span class="identifier">d</span><span class="special">:</span> <span class="identifier">D</span> <span class="special">--&gt;</span> <span class="identifier">delimit</span><span class="special">(</span><span class="identifier">d</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">,</span> <span class="identifier">d</span><span class="special">:</span> <span class="identifier">D</span> <span class="special">--&gt;</span> <span class="identifier">delimit</span><span class="special">(</span><span class="identifier">d</span><span class="special">)[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[</span><span class="identifier">a</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">verbatim</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">verbatim</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.delimit.complexity"></a><h6>
-<a name="id1214282"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- The overall complexity of the generator directives <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code>
- and <code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code>
- is defined by the complexity of its embedded generators. The complexity
- of the directives themselves is O(1).
- </p>
-<p>
- </p>
-</blockquote></div>
-<a name="spirit.karma.reference.directive.delimit.example"></a><h6>
-<a name="id1214327"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.delimit.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">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">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</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">T1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">attr1</span><span class="special">,</span>
- <span class="identifier">T2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">attr2</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">attr1</span><span class="special">,</span> <span class="identifier">attr2</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">delimit</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">verbatim</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- Basic usage of <code class="computeroutput"><span class="identifier">delimit</span></code>
- generator directive:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"[ 2.0 , 4.3 ] "</span><span class="special">,</span>
- <span class="identifier">delimit</span><span class="special">[</span><span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">','</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">],</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">4.3</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"[*2.0*,*4.3*]*"</span><span class="special">,</span>
- <span class="identifier">delimit</span><span class="special">(</span><span class="char">'*'</span><span class="special">)[</span><span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">','</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">],</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">4.3</span><span class="special">);</span>
-<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"[2.0, 4.3 ] "</span><span class="special">,</span>
- <span class="identifier">delimit</span><span class="special">[</span><span class="identifier">verbatim</span><span class="special">[</span><span class="char">'['</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">','</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">']'</span><span class="special">],</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">4.3</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-</div>
-<div class="section" title="Directives Controlling Case Sensitivity (upper[] and lower[])">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="spirit.karma.reference.directive.upperlower"></a><a class="link" href="directive.html#spirit.karma.reference.directive.upperlower" title="Directives Controlling Case Sensitivity (upper[] and lower[])"> Directives
- 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>)</a>
-</h5></div></div></div>
-<a name="spirit.karma.reference.directive.upperlower.description"></a><h6>
-<a name="id1215480"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.description">Description</a>
- </h6>
-<p>
- The generator directives <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">lower</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">upper</span><span class="special">[]</span></code> force their embedded generators to
- emit lower case or upper case only characters based on the interpretation
- of the generated characters in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code> (see <a class="link" href="../../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
- Encoding Namespace</a>).
- </p>
-<a name="spirit.karma.reference.directive.upperlower.header"></a><h6>
-<a name="id1215545"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.header">Header</a>
- </h6>
-<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/upper_lower_case.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_upper_lower_case</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.upperlower.model_of"></a><h6>
-<a name="id1215619"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.model_of">Model
- of</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- <a class="link" href="generator_concepts.html#spirit.karma.reference.generator_concepts.unarygenerator" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
- </p>
-<p>
- </p>
-</blockquote></div>
-<div class="variablelist" title="Notation">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
-<dd><p>
- A generator object
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">A</span></code></span></dt>
-<dd><p>
- Attribute type of the generator <code class="computeroutput"><span class="identifier">a</span></code>
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">ns</span></code></span></dt>
-<dd><p>
- A <a class="link" href="../../qi/reference/basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
- Encoding Namespace</a>.
- </p></dd>
-</dl>
-</div>
-<a name="spirit.karma.reference.directive.upperlower.expression_semantics"></a><h6>
-<a name="id1215728"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.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.html#spirit.karma.reference.generator_concepts.unarygenerator" 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">ns</span><span class="special">::</span><span class="identifier">lower</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> as
- lower case, interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>. The directive succeeds
- as long as the embedded generator succeeded (except if the underlying
- output stream reports an error).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">::</span><span class="identifier">upper</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
- </p>
- </td>
-<td>
- <p>
- Generate <code class="computeroutput"><span class="identifier">a</span></code> as
- upper case, interpreted in the character set defined by <code class="computeroutput"><span class="identifier">ns</span></code>. The directive succeeds
- as long as the embedded generator succeeded (except if the underlying
- output stream reports an error).
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<div class="note" title="Note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- If both directives are 'active' with regard to a generator, the innermost
- of those directives takes precendence. For instance:
-</p>
-<pre class="programlisting"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">sink</span><span class="special">,</span> <span class="identifier">ascii</span><span class="special">::</span><span class="identifier">lower</span><span class="special">[</span><span class="char">'A'</span> <span class="special">&lt;&lt;</span> <span class="identifier">ascii</span><span class="special">::</span><span class="identifier">upper</span><span class="special">[</span><span class="char">'b'</span><span class="special">]])</span>
-</pre>
-<p>
- will generate <code class="computeroutput"><span class="string">"aB"</span></code>
- (without the quotes).
- </p>
-<p>
- Further, the directives will have no effect on generators not emitting
- characters having an upper case or lower case equivalent in the character
- set defined by <code class="computeroutput"><span class="identifier">ns</span></code>.
- </p>
-</td></tr>
-</table></div>
-<a name="spirit.karma.reference.directive.upperlower.attributes"></a><h6>
-<a name="id1215995"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.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">ns</span><span class="special">:</span><span class="identifier">lower</span><span class="special">[</span><span class="identifier">a</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">ns</span><span class="special">:</span><span class="identifier">lower</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">ns</span><span class="special">:</span><span class="identifier">lower</span><span class="special">[</span><span class="identifier">a</span><span class="special">]:</span> <span class="identifier">Unused</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ns</span><span class="special">:</span><span class="identifier">upper</span><span class="special">[</span><span class="identifier">a</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">ns</span><span class="special">:</span><span class="identifier">upper</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">ns</span><span class="special">:</span><span class="identifier">upper</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.upperlower.complexity"></a><h6>
-<a name="id1216313"></a>
- <a class="link" href="directive.html#spirit.karma.reference.directive.upperlower.complexity">Complexity</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- </p>
-<p>
- The overall complexity of the gener