|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r55495 - in trunk/libs/spirit: doc doc/html doc/html/spirit doc/html/spirit/abstracts doc/html/spirit/karma doc/html/spirit/karma/performance_measurements/numeric_performance doc/html/spirit/karma/quick_reference doc/html/spirit/karma/reference doc/html/spirit/karma/reference/auxiliary doc/html/spirit/karma/reference/directive doc/html/spirit/karma/reference/generator_concepts doc/html/spirit/karma/reference/numeric doc/html/spirit/karma/reference/operator doc/html/spirit/karma/tutorials doc/html/spirit/lex doc/html/spirit/lex/abstracts doc/html/spirit/lex/abstracts/lexer_primitives doc/html/spirit/lex/reference doc/html/spirit/lex/reference/concepts doc/html/spirit/lex/tutorials doc/html/spirit/qi/quick_reference doc/html/spirit/qi/reference doc/html/spirit/qi/reference/auxiliary doc/html/spirit/qi/reference/directive doc/html/spirit/qi/reference/parser_concepts doc/html/spirit/qi/reference/string doc/html/spirit/qi/tutorials doc/html/spirit/support doc/karma example/karma test test/karma
From: hartmut.kaiser_at_[hidden]
Date: 2009-08-09 19:06:14
Author: hkaiser
Date: 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
New Revision: 55495
URL: http://svn.boost.org/trac/boost/changeset/55495
Log:
Spirit: doc update, test adjustments for recent change in attribute semantics
Added:
trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/
trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.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/test/karma/not_predicate.cpp (contents, props changed)
Text files modified:
trunk/libs/spirit/doc/html/index.html | 5
trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 16
trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 18
trunk/libs/spirit/doc/html/spirit/acknowledgments.html | 2
trunk/libs/spirit/doc/html/spirit/faq.html | 8
trunk/libs/spirit/doc/html/spirit/introduction.html | 12
trunk/libs/spirit/doc/html/spirit/karma.html | 1
trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html | 2
trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html | 2
trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html | 2
trunk/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html | 9
trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 6
trunk/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html | 12 -
trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html | 350 +++++++++++++++++++++++++++---
trunk/libs/spirit/doc/html/spirit/karma/reference.html | 1
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 2
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html | 8
trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html | 12
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html | 10
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html | 12
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html | 10
trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html | 12
trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html | 8
trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 2
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html | 43 ++-
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html | 43 ++-
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html | 14
trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html | 14
trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html | 10
trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html | 2
trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html | 2
trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html | 10
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html | 6
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html | 10
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html | 6
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 4
trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 4
trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 6
trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html | 6
trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html | 8
trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 10
trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 8
trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 8
trunk/libs/spirit/doc/html/spirit/preface.html | 18
trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html | 14
trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html | 4
trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html | 14
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html | 12
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html | 12
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html | 10
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html | 10
trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html | 12
trunk/libs/spirit/doc/html/spirit/qi/reference/string.html | 2
trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html | 14
trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html | 16
trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html | 14
trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html | 22
trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html | 6
trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html | 2
trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html | 8
trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html | 2
trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html | 10
trunk/libs/spirit/doc/html/spirit/support/multi_pass.html | 28 +-
trunk/libs/spirit/doc/html/spirit/what_s_new.html | 14
trunk/libs/spirit/doc/karma.qbk | 2
trunk/libs/spirit/doc/karma/numeric.qbk | 441 +++++++++++++++++++++++++++++++++++++++
trunk/libs/spirit/doc/karma/operator.qbk | 14 +
trunk/libs/spirit/doc/karma/quick_reference.qbk | 100 ++++++--
trunk/libs/spirit/doc/spirit2.qbk | 4
trunk/libs/spirit/doc/what_s_new.qbk | 2
trunk/libs/spirit/example/karma/reference.cpp | 64 +++-
trunk/libs/spirit/test/CMakeLists.txt | 1
trunk/libs/spirit/test/Jamfile | 1
trunk/libs/spirit/test/karma/alternative.cpp | 56 ++--
trunk/libs/spirit/test/karma/and_predicate.cpp | 9
trunk/libs/spirit/test/karma/char.cpp | 21 +
trunk/libs/spirit/test/karma/int_numerics.cpp | 32 ++
trunk/libs/spirit/test/karma/kleene.cpp | 4
trunk/libs/spirit/test/karma/lit.cpp | 12 +
trunk/libs/spirit/test/karma/plus.cpp | 4
trunk/libs/spirit/test/karma/real_numerics.cpp | 13 +
trunk/libs/spirit/test/karma/sequence.cpp | 6
94 files changed, 1389 insertions(+), 509 deletions(-)
Modified: trunk/libs/spirit/doc/html/index.html
==============================================================================
--- trunk/libs/spirit/doc/html/index.html (original)
+++ trunk/libs/spirit/doc/html/index.html 2009-08-09 19:06:02 EDT (Sun, 09 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="id1067426"></a><p>
+<a name="id1104105"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
</p>
@@ -133,6 +133,7 @@
<dt><span class="section"><a href="spirit/karma/reference/generator_concepts.html">Generator
Concepts</a></span></dt>
<dt><span class="section"> Basics</span></dt>
+<dt><span class="section"> Numeric</span></dt>
<dt><span class="section">Directive</span></dt>
<dt><span class="section">Operator</span></dt>
<dt><span class="section">Auxiliary</span></dt>
@@ -192,7 +193,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 07, 2009 at 13:30:01 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 09, 2009 at 21:56:33 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-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -29,9 +29,9 @@
</h3></div></div></div>
<p>
Parsing Expression Grammars (PEG)
- <sup>[<a name="id1076543" href="#ftn.id1076543" class="footnote">5</a>]</sup>
+ <sup>[<a name="id1114022" href="#ftn.id1114022" class="footnote">5</a>]</sup>
are a derivative of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1076555" href="#ftn.id1076555" class="footnote">6</a>]</sup>
+ <sup>[<a name="id1114034" href="#ftn.id1114034" 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="id1076575"></a>
+<a name="id1114054"></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="id1076693"></a>
+<a name="id1114172"></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="id1076832"></a>
+<a name="id1114311"></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="id1076973"></a>
+<a name="id1114451"></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.id1076543" href="#id1076543" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1114022" href="#id1114022" 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.id1076555" href="#id1076555" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1114034" href="#id1114034" 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-09 19:06:02 EDT (Sun, 09 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="id1076116" href="#ftn.id1076116" class="footnote">2</a>]</sup>
+ <sup>[<a name="id1113595" href="#ftn.id1113595" class="footnote">2</a>]</sup>
, a variant of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id1076128" href="#ftn.id1076128" class="footnote">3</a>]</sup>
+ <sup>[<a name="id1113607" href="#ftn.id1113607" 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="id1076140" href="#ftn.id1076140" class="footnote">4</a>]</sup>
+ <sup>[<a name="id1113619" href="#ftn.id1113619" 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="id1076152"></a>
+<a name="id1113631"></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="id1076251"></a>
+<a name="id1113730"></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="id1076412"></a>
+<a name="id1113891"></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.id1076116" href="#id1076116" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1113595" href="#id1113595" 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.id1076128" href="#id1076128" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1113607" href="#id1113607" 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.id1076140" href="#id1076140" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1113619" href="#id1113619" 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-09 19:06:02 EDT (Sun, 09 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="id1221366"></a>
+<a name="id1271437"></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-09 19:06:02 EDT (Sun, 09 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="id1219550"></a>
+<a name="id1267537"></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="id1219721"></a>
+<a name="id1267708"></a>
<a class="link" href="faq.html#spirit.faq.i_m_very_confused_about_the_header_hell_in_my_boost_spirit_directory__what_s_all_this_about_">I'm
very confused about the header hell in my boost/spirit directory. What's all
this about?</a>
@@ -172,7 +172,7 @@
are available.
</p>
<a name="spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_"></a><h4>
-<a name="id1220231"></a>
+<a name="id1268218"></a>
<a class="link" href="faq.html#spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_">Why
doesn't my symbol table work in a <code class="computeroutput"><span class="identifier">no_case</span></code>
directive?</a>
@@ -184,7 +184,7 @@
Entries containing one or more uppercase characters will not match any input.
</p>
<a name="spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_"></a><h4>
-<a name="id1220607"></a>
+<a name="id1268299"></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-09 19:06:02 EDT (Sun, 09 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="id1072292" href="#ftn.id1072292" class="footnote">1</a>]</sup>
+ <sup>[<a name="id1109768" href="#ftn.id1109768" 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="id1072505"></a>
+<a name="id1109982"></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="id1073462"></a>
+<a name="id1110938"></a>
<a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_">A
Quick Overview of Output Generation with <span class="emphasis"><em>Spirit.Karma</em></span></a>
</h4>
@@ -257,7 +257,7 @@
of the same <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>:
</p>
<div class="table">
-<a name="id1073803"></a><p class="title"><b>Table 2. Different output formats for `std::vector<int>`</b></p>
+<a name="id1111279"></a><p class="title"><b>Table 2. Different output formats for `std::vector<int>`</b></p>
<div class="table-contents"><table class="table" summary="Different output formats for `std::vector<int>`">
<colgroup>
<col>
@@ -376,7 +376,7 @@
next table gives some related examples.
</p>
<div class="table">
-<a name="id1075279"></a><p class="title"><b>Table 3. Different data types usable with the output format
+<a name="id1112758"></a><p class="title"><b>Table 3. Different data types usable with the output format
`*(int_ << eol)`</b></p>
<div class="table-contents"><table class="table" summary="Different data types usable with the output format
`*(int_ << eol)`">
@@ -450,7 +450,7 @@
</div>
<br class="table-break"><div class="footnotes">
<br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id1072292" href="#id1072292" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id1109768" href="#id1109768" 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-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -57,6 +57,7 @@
<dt><span class="section"><a href="karma/reference/generator_concepts.html">Generator
Concepts</a></span></dt>
<dt><span class="section"> Basics</span></dt>
+<dt><span class="section"> Numeric</span></dt>
<dt><span class="section">Directive</span></dt>
<dt><span class="section">Operator</span></dt>
<dt><span class="section">Auxiliary</span></dt>
Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -135,7 +135,7 @@
<a class="link" href="double_performance.html#spirit.karma.double_performance" title="Figure 4. Performance comparison for a single double">figure</a>.
</p>
<div class="table">
-<a name="id1181937"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
+<a name="id1228463"></a><p class="title"><b>Table 7. Performance comparison for a single double (all
times in [s], 1000000 iterations)</b></p>
<div class="table-contents"><table class="table" summary="Performance comparison for a single double (all
times in [s], 1000000 iterations)">
Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -155,7 +155,7 @@
<a class="link" href="format_performance.html#spirit.karma.format_performance" title="Figure 5. Performance comparison for a sequence of several items">figure</a>.
</p>
<div class="table">
-<a name="id1183467"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
+<a name="id1232166"></a><p class="title"><b>Table 8. Performance comparison for a sequence of several
items (all times in [s], 1000000 iterations)</b></p>
<div class="table-contents"><table class="table" summary="Performance comparison for a sequence of several
items (all times in [s], 1000000 iterations)">
Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -125,7 +125,7 @@
<a class="link" href="int_performance.html#spirit.karma.int_performance" title="Figure 3. Performance comparison for a single int">figure</a>.
</p>
<div class="table">
-<a name="id1180879"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
+<a name="id1227395"></a><p class="title"><b>Table 6. Performance comparison for a single int (all
times in [s], 10000000 iterations)</b></p>
<div class="table-contents"><table class="table" summary="Performance comparison for a single int (all
times in [s], 10000000 iterations)">
Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -112,6 +112,15 @@
where <code class="computeroutput"><span class="identifier">T</span></code> is the underlying
character type of <code class="computeroutput"><span class="identifier">str</span></code>
</p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">num</span></code></span></dt>
+<dd><p>
+ Numeric literal, any integer or floating point type
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Num</span></code></span></dt>
+<dd><p>
+ Attribute of <code class="computeroutput"><span class="identifier">num</span></code>: any
+ integer or floating point type
+ </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple</span><span class="special"><></span></code></span></dt>
<dd><p>
Used as a placeholder for a fusion sequence
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-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -41,7 +41,7 @@
<span class="identifier">b</span></code> will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span></code>.
</p>
<div class="table">
-<a name="id1144862"></a><p class="title"><b>Table 5. Spirit.Karma compound generator attribute types</b></p>
+<a name="id1182828"></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>
@@ -198,7 +198,7 @@
<p>
<code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
<span class="identifier">A</span> <span class="special">--></span>
- <span class="special">&</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></code>
+ <span class="special">&</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span></code>
</p>
</td>
</tr>
@@ -213,7 +213,7 @@
<p>
<code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
<span class="identifier">A</span> <span class="special">--></span>
- <span class="special">!</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></code>
+ <span class="special">!</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span></code>
</p>
</td>
</tr>
Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -219,18 +219,6 @@
<tr>
<td>
<p>
- debug(r)
- </p>
- </td>
-<td>
- <p>
- Debug rule <code class="computeroutput"><span class="identifier">r</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
<code class="computeroutput"><span class="identifier">r</span> <span class="special">=</span>
<span class="identifier">g</span><span class="special">;</span></code>
</p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/predefined_primitive_generators.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -333,12 +333,12 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="identifier">ch</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">ch</span></code>
</p>
</td>
<td>
<p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
</p>
</td>
<td>
@@ -350,24 +350,24 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">char_</span><span class="special">(</span><span class="string">"c"</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">str</span></code>
</p>
</td>
<td>
<p>
- <code class="computeroutput"><span class="identifier">Ch</span></code>
+ <code class="computeroutput"><span class="identifier">Unused</span></code>
</p>
</td>
<td>
<p>
- Generates a single char string literal, <code class="computeroutput"><span class="identifier">c</span></code>
+ Generates <code class="computeroutput"><span class="identifier">str</span></code>
</p>
</td>
</tr>
<tr>
<td>
<p>
- <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>
</p>
</td>
<td>
@@ -384,7 +384,7 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">str</span></code>
+ <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>
@@ -401,7 +401,7 @@
<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>
+ <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
</p>
</td>
<td>
@@ -411,24 +411,43 @@
</td>
<td>
<p>
- Generates <code class="computeroutput"><span class="identifier">ch</span></code>
+ Generates <code class="computeroutput"><span class="identifier">num</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>
+ <code class="computeroutput"><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">Unused</span></code>
+ <code class="computeroutput"><span class="identifier">Ch</span></code>
</p>
</td>
<td>
<p>
- Generates <code class="computeroutput"><span class="identifier">str</span></code>
+ Generates <code class="computeroutput"><span class="identifier">ch</span></code>, if
+ an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><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>
+ </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>
@@ -445,7 +464,8 @@
</td>
<td>
<p>
- Generates <code class="computeroutput"><span class="identifier">str</span></code>
+ Generates <code class="computeroutput"><span class="identifier">str</span></code>,
+ if an attribute is supplied it must match
</p>
</td>
</tr>
@@ -856,7 +876,7 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">float_</span></code>
+ <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>
@@ -873,7 +893,26 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">double_</span></code>
+ <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>
@@ -890,7 +929,26 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">long_double</span></code>
+ <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>
@@ -908,6 +966,26 @@
<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>
<code class="computeroutput"><span class="identifier">bin</span></code>
</p>
</td>
@@ -959,7 +1037,7 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">ushort_</span></code>
+ <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>
@@ -976,24 +1054,26 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">ulong_</span></code>
+ <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">long</span></code>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
</p>
</td>
<td>
<p>
- Generate an unsigned long integer
+ 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>
- <code class="computeroutput"><span class="identifier">uint_</span></code>
+ <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>
@@ -1010,7 +1090,60 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">ulong_long</span></code>
+ <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>
@@ -1028,7 +1161,26 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">short_</span></code>
+ <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/signed_int.html" title="Signed Integer Number Generators"><code class="computeroutput"><span class="identifier">short_</span></code></a>
</p>
</td>
<td>
@@ -1045,24 +1197,25 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">long_</span></code>
+ <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">long</span></code>
+ <code class="computeroutput"><span class="keyword">short</span></code>
</p>
</td>
<td>
<p>
- Generate a long integer
+ 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>
- <code class="computeroutput"><span class="identifier">int_</span></code>
+ <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>
@@ -1079,7 +1232,60 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">long_long</span></code>
+ <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>
@@ -1096,43 +1302,101 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code>
+ <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="identifier">Unused</span></code>
+ <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"><code class="computeroutput"><span class="identifier">int_generator</span><span class="special"><</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">>()</span></code></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"><code class="computeroutput"><span class="identifier">int_generator</span><span class="special"><</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">>()(</span><span class="identifier">num</span><span class="special">)</span></code></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>
+<tr>
+<td>
+ <p>
+ <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>
+ <p>
+ <code class="computeroutput"><span class="identifier">A</span></code>
</p>
</td>
<td>
<p>
Not predicate. Ensure that <code class="computeroutput"><span class="identifier">a</span></code>
- does not succeed generating but don't create any output
+ does not succeed generating, but don't create any output
</p>
</td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="special">&</span><span class="identifier">a</span></code>
+ <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>
<p>
- <code class="computeroutput"><span class="identifier">Unused</span></code>
+ <code class="computeroutput"><span class="identifier">A</span></code>
</p>
</td>
<td>
<p>
And predicate. Ensure that <code class="computeroutput"><span class="identifier">a</span></code>
- does succeed generating but don't create any output
+ does succeed generating, but don't create any output
</p>
</td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code>
+ <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>
@@ -1150,7 +1414,7 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code>
+ <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>
@@ -1168,7 +1432,7 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="special">+</span><span class="identifier">a</span></code>
+ <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>
@@ -1186,8 +1450,8 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">a</span> <span class="special">|</span>
- <span class="identifier">b</span></code>
+ <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>
<td>
@@ -1206,8 +1470,8 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">a</span> <span class="special"><<</span>
- <span class="identifier">b</span></code>
+ <a class="link" href="../reference/operator/sequence.html" title="Sequences (operator<<())"><code class="computeroutput"><span class="identifier">a</span> <span class="special"><<</span>
+ <span class="identifier">b</span></code></a>
</p>
</td>
<td>
@@ -1226,8 +1490,8 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span>
- <span class="identifier">b</span></code>
+ <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>
<td>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -30,6 +30,7 @@
<dt><span class="section"><a href="reference/generator_concepts.html">Generator
Concepts</a></span></dt>
<dt><span class="section"> Basics</span></dt>
+<dt><span class="section"> Numeric</span></dt>
<dt><span class="section">Directive</span></dt>
<dt><span class="section">Operator</span></dt>
<dt><span class="section">Auxiliary</span></dt>
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-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -37,7 +37,7 @@
and <code class="computeroutput"><span class="identifier">eps</span></code>, <code class="computeroutput"><span class="identifier">lazy</span></code> generators.
</p>
<a name="spirit.karma.reference.auxiliary.module_header"></a><h6>
-<a name="id1176038"></a>
+<a name="id1224879"></a>
<a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.auxiliary.eol"></a><a class="link" href="eol.html" title="eol">eol</a>
</h5></div></div></div>
<a name="spirit.karma.reference.auxiliary.eol.description"></a><h6>
-<a name="id1176113"></a>
+<a name="id1224955"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
details).
</p>
<a name="spirit.karma.reference.auxiliary.eol.header"></a><h6>
-<a name="id1176171"></a>
+<a name="id1225013"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary/eol.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.auxiliary.eol.model_of"></a><h6>
-<a name="id1176388"></a>
+<a name="id1225087"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.auxiliary.eol.expression_semantics"></a><h6>
-<a name="id1176427"></a>
+<a name="id1225125"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.expression_semantics">Expression
Semantics</a>
</h6>
@@ -100,7 +100,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eol.attributes"></a><h6>
-<a name="id1176515"></a>
+<a name="id1225214"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -134,7 +134,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eol.complexity"></a><h6>
-<a name="id1176593"></a>
+<a name="id1225292"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -151,7 +151,7 @@
output.
</p>
<a name="spirit.karma.reference.auxiliary.eol.example"></a><h6>
-<a name="id1176621"></a>
+<a name="id1225320"></a>
<a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.example">Example</a>
</h6>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -33,7 +33,7 @@
or to insert semantic actions into the generation process.
</p>
<a name="spirit.karma.reference.auxiliary.eps.description"></a><h6>
-<a name="id1176656"></a>
+<a name="id1225355"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.description">Description</a>
</h6>
<p>
@@ -45,7 +45,7 @@
while using the return value as the criteria to succeed.
</p>
<a name="spirit.karma.reference.auxiliary.eps.header"></a><h6>
-<a name="id1176755"></a>
+<a name="id1225454"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary/eps.hpp>
@@ -55,7 +55,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.auxiliary.eps.model_of"></a><h6>
-<a name="id1176830"></a>
+<a name="id1225540"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -82,7 +82,7 @@
</dl>
</div>
<a name="spirit.karma.reference.auxiliary.eps.expression_semantics"></a><h6>
-<a name="id1176916"></a>
+<a name="id1225626"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.expression_semantics">Expression
Semantics</a>
</h6>
@@ -149,7 +149,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eps.attributes"></a><h6>
-<a name="id1177103"></a>
+<a name="id1225813"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -209,7 +209,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.eps.complexity"></a><h6>
-<a name="id1177265"></a>
+<a name="id1225975"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -225,7 +225,7 @@
The complexity is constant as no output is generated.
</p>
<a name="spirit.karma.reference.auxiliary.eps.example"></a><h6>
-<a name="id1177293"></a>
+<a name="id1226003"></a>
<a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.example">Example</a>
</h6>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.auxiliary.lazy"></a><a class="link" href="lazy.html" title="lazy">lazy</a>
</h5></div></div></div>
<a name="spirit.karma.reference.auxiliary.lazy.description"></a><h6>
-<a name="id1177317"></a>
+<a name="id1226027"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
its return value as the actual generator to produce the output.
</p>
<a name="spirit.karma.reference.auxiliary.lazy.header"></a><h6>
-<a name="id1177341"></a>
+<a name="id1226051"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/auxiliary/lazy.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.auxiliary.lazy.model_of"></a><h6>
-<a name="id1177415"></a>
+<a name="id1226125"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.model_of">Model
of</a>
</h6>
@@ -84,7 +84,7 @@
second argument. This is done for uniformity with Semantic Actions).
</p>
<a name="spirit.karma.reference.auxiliary.lazy.expression_semantics"></a><h6>
-<a name="id1177552"></a>
+<a name="id1226262"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.expression_semantics">Expression
Semantics</a>
</h6>
@@ -147,7 +147,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.lazy.attributes"></a><h6>
-<a name="id1177705"></a>
+<a name="id1226414"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -199,7 +199,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.auxiliary.lazy.complexity"></a><h6>
-<a name="id1177853"></a>
+<a name="id1226563"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.complexity">Complexity</a>
</h6>
<p>
@@ -208,7 +208,7 @@
<code class="computeroutput"><span class="identifier">fg</span></code>.
</p>
<a name="spirit.karma.reference.auxiliary.lazy.example"></a><h6>
-<a name="id1177885"></a>
+<a name="id1226594"></a>
<a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
</h6>
</div>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/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-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -6,7 +6,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
<link rel="home" href="../../../index.html" title="Spirit 2.1">
<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="karma_basics.html" title="Basics">
+<link rel="prev" href="numeric/floating_point.html" title="Floating Point Number Generators">
<link rel="next" href="directive/buffer.html" title="Temporary Output Buffering (buffer[])">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="karma_basics.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="directive/buffer.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/buffer.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" title="Directive">
<div class="titlepage"><div><div><h4 class="title">
@@ -40,7 +40,7 @@
controlling case sensitivity (<code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code>), field width (<code class="computeroutput"><span class="identifier">max_width</span><span class="special">[]</span></code>), buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>), and attribute handling (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>).
</p>
<a name="spirit.karma.reference.directive.module_header"></a><h6>
-<a name="id1153691"></a>
+<a name="id1202892"></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 <boost/spirit/home/karma/directive.hpp>
@@ -58,7 +58,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="directive/buffer.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/buffer.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
Output Buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.directive.buffer.description"></a><h6>
-<a name="id1153777"></a>
+<a name="id1202978"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.description">Description</a>
</h6>
<p>
@@ -42,7 +42,7 @@
underlying stream only after the embedded generator succeeded.
</p>
<a name="spirit.karma.reference.directive.buffer.header"></a><h6>
-<a name="id1153806"></a>
+<a name="id1203007"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/directive/buffer.hpp>
@@ -52,7 +52,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.directive.buffer.model_of"></a><h6>
-<a name="id1153880"></a>
+<a name="id1203082"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.model_of">Model
of</a>
</h6>
@@ -66,7 +66,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.directive.buffer.expression_semantics"></a><h6>
-<a name="id1153919"></a>
+<a name="id1203120"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.expression_semantics">Expression
Semantics</a>
</h6>
@@ -122,7 +122,7 @@
</p></td></tr>
</table></div>
<a name="spirit.karma.reference.directive.buffer.attributes"></a><h6>
-<a name="id1154091"></a>
+<a name="id1203293"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -160,7 +160,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.directive.buffer.complexity"></a><h6>
-<a name="id1154245"></a>
+<a name="id1203446"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -175,7 +175,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.directive.buffer.example"></a><h6>
-<a name="id1154269"></a>
+<a name="id1203470"></a>
<a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
(<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.directive.omit.description"></a><h6>
-<a name="id1155428"></a>
+<a name="id1204469"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
any output.
</p>
<a name="spirit.karma.reference.directive.omit.header"></a><h6>
-<a name="id1155445"></a>
+<a name="id1204486"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/directive/omit.hpp>
@@ -46,7 +46,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.directive.omit.model_of"></a><h6>
-<a name="id1155519"></a>
+<a name="id1204560"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.model_of">Model
of</a>
</h6>
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.directive.omit.expression_semantics"></a><h6>
-<a name="id1155557"></a>
+<a name="id1204598"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.expression_semantics">Expression
Semantics</a>
</h6>
@@ -101,7 +101,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.directive.omit.attributes"></a><h6>
-<a name="id1155664"></a>
+<a name="id1204705"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -139,7 +139,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.directive.omit.complexity"></a><h6>
-<a name="id1155818"></a>
+<a name="id1204883"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -153,7 +153,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.directive.omit.example"></a><h6>
-<a name="id1155849"></a>
+<a name="id1204914"></a>
<a class="link" href="omit.html#spirit.karma.reference.directive.omit.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.binarygenerator"></a><a class="link" href="binarygenerator.html" title="BinaryGenerator">BinaryGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.description"></a><h6>
-<a name="id1151996"></a>
+<a name="id1190144"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.description">Description</a>
</h6>
<p>
@@ -39,7 +39,7 @@
Design Pattern.
</p>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.refinement_of"></a><h6>
-<a name="id1152043"></a>
+<a name="id1190190"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.refinement_of">Refinement
of</a>
</h6>
@@ -66,7 +66,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions"></a><h6>
-<a name="id1152120"></a>
+<a name="id1190267"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -135,7 +135,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.type_expressions"></a><h6>
-<a name="id1152282"></a>
+<a name="id1190429"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -200,7 +200,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.invariants"></a><h6>
-<a name="id1152481"></a>
+<a name="id1190628"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.invariants">Invariants</a>
</h6>
<p>
@@ -216,7 +216,7 @@
</li>
</ul></div>
<a name="spirit.karma.reference.generator_concepts.binarygenerator.models"></a><h6>
-<a name="id1152618"></a>
+<a name="id1190765"></a>
<a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.generator"></a><a class="link" href="generator.html" title="Generator">Generator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.generator.description"></a><h6>
-<a name="id1148608"></a>
+<a name="id1188189"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.description">Description</a>
</h6>
<p>
@@ -81,7 +81,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.generator.valid_expressions"></a><h6>
-<a name="id1148862"></a>
+<a name="id1188443"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -164,7 +164,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.generator.type_expressions"></a><h6>
-<a name="id1150762"></a>
+<a name="id1188704"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.type_expressions">Type
Expressions</a>
</h6>
@@ -231,7 +231,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.generator.postcondition"></a><h6>
-<a name="id1151027"></a>
+<a name="id1188969"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.postcondition">Postcondition</a>
</h6>
<p>
@@ -253,7 +253,7 @@
</li>
</ul></div>
<a name="spirit.karma.reference.generator_concepts.generator.models"></a><h6>
-<a name="id1151096"></a>
+<a name="id1189038"></a>
<a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.narygenerator"></a><a class="link" href="narygenerator.html" title="NaryGenerator">NaryGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.description"></a><h6>
-<a name="id1152667"></a>
+<a name="id1190814"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
Design Pattern.
</p>
<a name="spirit.karma.reference.generator_concepts.narygenerator.refinement_of"></a><h6>
-<a name="id1152698"></a>
+<a name="id1190846"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.refinement_of">Refinement
of</a>
</h6>
@@ -64,7 +64,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.valid_expressions"></a><h6>
-<a name="id1152775"></a>
+<a name="id1190922"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -115,7 +115,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.type_expressions"></a><h6>
-<a name="id1153104"></a>
+<a name="id1191042"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -168,7 +168,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.invariants"></a><h6>
-<a name="id1153271"></a>
+<a name="id1191209"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.invariants">Invariants</a>
</h6>
<p>
@@ -180,7 +180,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special"><</span><span class="identifier">E</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.karma.reference.generator_concepts.narygenerator.models"></a><h6>
-<a name="id1153356"></a>
+<a name="id1191294"></a>
<a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.primitivegenerator"></a><a class="link" href="primitivegenerator.html" title="PrimitiveGenerator">PrimitiveGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.description"></a><h6>
-<a name="id1151138"></a>
+<a name="id1189080"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.description">Description</a>
</h6>
<p>
@@ -35,7 +35,7 @@
that the client uses to build more complex generators.
</p>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of"></a><h6>
-<a name="id1151159"></a>
+<a name="id1189101"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of">Refinement
of</a>
</h6>
@@ -49,7 +49,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit"></a><h6>
-<a name="id1151192"></a>
+<a name="id1189134"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit">Post-delimit</a>
</h6>
<p>
@@ -62,7 +62,7 @@
<pre class="programlisting"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">delimit_out</span><span class="special">(</span><span class="identifier">sink</span><span class="special">,</span> <span class="identifier">delimit</span><span class="special">);</span>
</pre>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions"></a><h6>
-<a name="id1151266"></a>
+<a name="id1189208"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -101,7 +101,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.primitivegenerator.models"></a><h6>
-<a name="id1151400"></a>
+<a name="id1189342"></a>
<a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.generator_concepts.unarygenerator"></a><a class="link" href="unarygenerator.html" title="UnaryGenerator">UnaryGenerator</a>
</h5></div></div></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.description"></a><h6>
-<a name="id1151465"></a>
+<a name="id1189407"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
following the Delegate Design Pattern.
</p>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.refinement_of"></a><h6>
-<a name="id1151485"></a>
+<a name="id1189427"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.refinement_of">Refinement
of</a>
</h6>
@@ -63,7 +63,7 @@
</dl>
</div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions"></a><h6>
-<a name="id1151562"></a>
+<a name="id1189504"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions">Valid
Expressions</a>
</h6>
@@ -113,7 +113,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.type_expressions"></a><h6>
-<a name="id1151677"></a>
+<a name="id1189619"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.type_expressions">Type
Expressions</a>
</h6>
@@ -166,7 +166,7 @@
</tbody>
</table></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.invariants"></a><h6>
-<a name="id1151843"></a>
+<a name="id1189785"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.invariants">Invariants</a>
</h6>
<p>
@@ -177,7 +177,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special"><</span><span class="identifier">G</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.karma.reference.generator_concepts.unarygenerator.models"></a><h6>
-<a name="id1151928"></a>
+<a name="id1190075"></a>
<a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -7,7 +7,7 @@
<link rel="home" href="../../../index.html" title="Spirit 2.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="generator_concepts/narygenerator.html" title="NaryGenerator">
-<link rel="next" href="directive.html" title="Directive">
+<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>
@@ -20,14 +20,14 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="generator_concepts/narygenerator.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="directive.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="generator_concepts/narygenerator.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" title="Basics">
<div class="titlepage"><div><div><h4 class="title">
<a name="spirit.karma.reference.karma_basics"></a><a class="link" href="karma_basics.html" title="Basics"> Basics</a>
</h4></div></div></div>
<a name="spirit.karma.reference.karma_basics.lazy_argument"></a><h6>
-<a name="id1153421"></a>
+<a name="id1191359"></a>
<a class="link" href="karma_basics.html#spirit.karma.reference.karma_basics.lazy_argument">Lazy
Argument</a>
</h6>
@@ -63,7 +63,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="generator_concepts/narygenerator.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="directive.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="generator_concepts/narygenerator.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Numeric</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<link rel="home" href="../../../index.html" title="Spirit 2.1">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="karma_basics.html" title="Basics">
+<link rel="next" href="numeric/signed_int.html" title="Signed Integer 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="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/signed_int.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Numeric">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.karma.reference.numeric"></a><a class="link" href="numeric.html" title="Numeric"> Numeric</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="numeric/signed_int.html"> Signed
+ Integer Number Generators</a></span></dt>
+<dt><span class="section"><a href="numeric/unsigned_int.html"> Unsigned
+ Integer Number Generators</a></span></dt>
+<dt><span class="section"><a href="numeric/floating_point.html"> Floating
+ Point Number Generators</a></span></dt>
+</dl></div>
+<p>
+ This module includes different numeric generators allowing to format arbitrary
+ integer and floating point types. It includes the signed integer, unsigned
+ integer, and floating point number generators.
+ </p>
+<a name="spirit.karma.reference.numeric.module_header"></a><h6>
+<a name="id1191509"></a>
+ <a class="link" href="numeric.html#spirit.karma.reference.numeric.module_header">Module Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/numeric.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="karma_basics.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric/signed_int.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/floating_point.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/floating_point.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -0,0 +1,78 @@
+<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="../numeric.html" title="Numeric">
+<link rel="prev" href="unsigned_int.html" title="Unsigned Integer Number Generators">
+<link rel="next" href="../directive.html" title="Directive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../directive.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Floating Point Number Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.numeric.floating_point"></a><a class="link" href="floating_point.html" title="Floating Point Number Generators"> Floating
+ Point Number Generators</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.numeric.floating_point.description"></a><h6>
+<a name="id1202617"></a>
+ <a class="link" href="floating_point.html#spirit.karma.reference.numeric.floating_point.description">Description</a>
+ </h6>
+<a name="spirit.karma.reference.numeric.floating_point.header"></a><h6>
+<a name="id1202633"></a>
+ <a class="link" href="floating_point.html#spirit.karma.reference.numeric.floating_point.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/numeric/real.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_real</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.numeric.floating_point.model_of"></a><h6>
+<a name="id1202707"></a>
+ <a class="link" href="floating_point.html#spirit.karma.reference.numeric.floating_point.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.numeric.floating_point.expression_semantics"></a><h6>
+<a name="id1202743"></a>
+ <a class="link" href="floating_point.html#spirit.karma.reference.numeric.floating_point.expression_semantics">Expression
+ Semantics</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="unsigned_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../directive.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -0,0 +1,821 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Signed Integer 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="../numeric.html" title="Numeric">
+<link rel="prev" href="../numeric.html" title="Numeric">
+<link rel="next" href="unsigned_int.html" title="Unsigned Integer 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="../numeric.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.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="Signed Integer Number Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.numeric.signed_int"></a><a class="link" href="signed_int.html" title="Signed Integer Number Generators"> Signed
+ Integer Number Generators</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.numeric.signed_int.description"></a><h6>
+<a name="id1191585"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.description">Description</a>
+ </h6>
+<p>
+ The signed integer number generators described in this section are:
+ </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">lit</span><span class="special">(</span><span class="identifier">num</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">num</span></code>,
+ where <code class="computeroutput"><span class="identifier">num</span></code> can
+ be a <code class="computeroutput"><span class="keyword">short</span></code>, <code class="computeroutput"><span class="keyword">int</span></code>, <code class="computeroutput"><span class="keyword">long</span></code>,
+ or <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">short_</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">int_</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">long_</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">long_long</span></code>
+ </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>
+ <code class="computeroutput"><span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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>
+
+</p>
+<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"><</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">>()</span></pre>
+<p>
+ </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>
+
+</p>
+<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"><</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">>()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <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>
+<p>
+ These can be used to flexibly format any integer number of any compatible
+ type (for more information about the requirements, see <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.additional_requirements">below</a>).
+ </p>
+<p>
+ The interger number generators are very fast. For measurement results
+ comapring the <span class="emphasis"><em>Spirit.Karma</em></span> integer number generators
+ with equivalent constructs provided by other libraries see the section
+ <a class="link" href="../../performance_measurements/numeric_performance/int_performance.html" title="Comparing the performance of a single int_ generator">Performance
+ of Numeric Generators</a>
+ </p>
+<a name="spirit.karma.reference.numeric.signed_int.header"></a><h6>
+<a name="id1192939"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/numeric/int.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_int</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.numeric.signed_int.model_of"></a><h6>
+<a name="id1193013"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.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.numeric.signed_int.expression_semantics"></a><h6>
+<a name="id1193052"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.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">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the integer literal <code class="computeroutput"><span class="identifier">num</span></code>
+ using the default formatting (radix is 10, sign is only printed
+ for negative literals). This generator never fails (except if
+ the underlying output stream reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">short_</span>
+<span class="identifier">int_</span>
+<span class="identifier">long_</span>
+<span class="identifier">long_long</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the integer provided by a mandatory attribute using
+ the default formatting (radix is 10, sign is only printed for
+ negative literals). This generator never fails (except if the
+ underlying output stream reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the integer provided by the immediate literal value
+ the generator is initialized from using the default formatting
+ (radix is 10, sign is only printed for negative literals). 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>
+
+</p>
+<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"><</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">>()</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the integer of type <code class="computeroutput"><span class="identifier">Num</span></code>
+ provided by a mandatory attribute using the specified <code class="computeroutput"><span class="identifier">Radix</span></code> (possible values are
+ <code class="computeroutput"><span class="number">2</span></code>, <code class="computeroutput"><span class="number">8</span></code>, <code class="computeroutput"><span class="number">10</span></code>,
+ and <code class="computeroutput"><span class="number">16</span></code>, the default
+ value is <code class="computeroutput"><span class="number">10</span></code>). If
+ <code class="computeroutput"><span class="identifier">force_sign</span></code> is
+ <code class="computeroutput"><span class="keyword">false</span></code> (the default),
+ a sign is only printed for negative literals. If <code class="computeroutput"><span class="identifier">force_sign</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>, all numbers will be printed
+ using a sign, i.e. <code class="computeroutput"><span class="char">'-'</span></code>
+ for negative numbers, <code class="computeroutput"><span class="char">'+'</span></code>
+ for positive numbers, and <code class="computeroutput"><span class="char">' '</span></code>
+ for zeros. This generator never fails (except if the underlying
+ output stream reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</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">>()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the integer of type <code class="computeroutput"><span class="identifier">Num</span></code>
+ provided by the immediate literal value the generator is initialized
+ from, using the specified <code class="computeroutput"><span class="identifier">Radix</span></code>
+ (possible values are <code class="computeroutput"><span class="number">2</span></code>,
+ <code class="computeroutput"><span class="number">8</span></code>, <code class="computeroutput"><span class="number">10</span></code>, and <code class="computeroutput"><span class="number">16</span></code>,
+ the default value is <code class="computeroutput"><span class="number">10</span></code>).
+ If <code class="computeroutput"><span class="identifier">force_sign</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code> (the default),
+ a sign is only printed for negative literals. If <code class="computeroutput"><span class="identifier">force_sign</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>, all numbers will be printed
+ using a sign, i.e. <code class="computeroutput"><span class="char">'-'</span></code>
+ for negative numbers, <code class="computeroutput"><span class="char">'+'</span></code>
+ for positive numbers, and <code class="computeroutput"><span class="char">' '</span></code>
+ for zeros. 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>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.numeric.signed_int.additional_requirements"></a><h6>
+<a name="id1193595"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.additional_requirements">Additional
+ Requirements</a>
+ </h6>
+<p>
+ The following lists enumerate the requirements which must be met in order
+ to use a certain type <code class="computeroutput"><span class="identifier">Num</span></code>
+ to instantiate and use a <code class="computeroutput"><span class="identifier">int_generator</span><span class="special"><</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">></span></code>.
+ </p>
+<p>
+ If <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">Num</span><span class="special">>::</span><span class="identifier">value</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>
+ the type <code class="computeroutput"><span class="identifier">Num</span></code> must have
+ defined:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ comparison operators for: <code class="computeroutput"><span class="special"><</span></code>,
+ <code class="computeroutput"><span class="special"><=</span></code>, <code class="computeroutput"><span class="special">==</span></code>,
+ <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">></span></code>,
+ and <code class="computeroutput"><span class="special">>=</span></code>
+</li>
+<li class="listitem">
+ numeric operators for: <code class="computeroutput"><span class="special">+</span></code>,
+ <code class="computeroutput"><span class="special">-</span></code>, <code class="computeroutput"><span class="special">/</span></code>,
+ <code class="computeroutput"><span class="special">*</span></code>, <code class="computeroutput"><span class="special">%</span></code>,
+ and unary <code class="computeroutput"><span class="special">-</span></code>
+</li>
+</ul></div>
+<p>
+ If <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">Num</span><span class="special">>::</span><span class="identifier">value</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>
+ the type <code class="computeroutput"><span class="identifier">Num</span></code> must have
+ defined:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ comparison operators for: <code class="computeroutput"><span class="special"><</span></code>,
+ <code class="computeroutput"><span class="special"><=</span></code>, <code class="computeroutput"><span class="special">==</span></code>,
+ <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">></span></code>,
+ and <code class="computeroutput"><span class="special">>=</span></code>
+</li>
+<li class="listitem">
+ numeric operators for: <code class="computeroutput"><span class="special">+</span></code>,
+ <code class="computeroutput"><span class="special">-</span></code>, <code class="computeroutput"><span class="special">/</span></code>,
+ <code class="computeroutput"><span class="special">*</span></code>, <code class="computeroutput"><span class="special">%</span></code>,
+ and unary <code class="computeroutput"><span class="special">-</span></code>
+</li>
+<li class="listitem">
+ helper functions implementing the interface and the semantics of:
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fmod</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span></code>,
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pow</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">lround</span></code>,
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ltrunc</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">floor</span></code>,
+ and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ceil</span></code>.
+ </li>
+</ul></div>
+<a name="spirit.karma.reference.numeric.signed_int.attributes"></a><h6>
+<a name="id1194046"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.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">lit</span><span class="special">(</span><span class="identifier">num</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">short_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">short</span></code>, attribute
+ is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">short</span></code>, attribute
+ is optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">num</span></code> and
+ succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">int_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>, attribute is
+ mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>, attribute is
+ optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">num</span></code> and
+ succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">long_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span></code>, attribute
+ is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span></code>, attribute
+ is optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">num</span></code> and
+ succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">long_long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>,
+ attribute is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>,
+ attribute is optional, if it is supplied, the generator compares
+ the attribute with <code class="computeroutput"><span class="identifier">num</span></code>
+ and succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</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">>()</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>, attribute
+ is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</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">>()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>, attribute
+ is optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">num</span></code> and
+ succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.numeric.signed_int.complexity"></a><h6>
+<a name="id1194603"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ O(N), where <code class="computeroutput"><span class="identifier">N</span></code> is
+ the number of digits needed to represent the generated integer number
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.numeric.signed_int.example"></a><h6>
+<a name="id1194634"></a>
+ <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ All code snippets below use this common test function:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator_attr</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">attr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Some using declarations:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">int_</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of an and predicate generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">test_generator</span><span class="special">(</span><span class="string">"-2"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(-</span><span class="number">2</span><span class="special">));</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"-2"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">(-</span><span class="number">2</span><span class="special">));</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"-2"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">(-</span><span class="number">2</span><span class="special">),</span> <span class="special">-</span><span class="number">2</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">int_</span><span class="special">(-</span><span class="number">2</span><span class="special">),</span> <span class="number">3</span><span class="special">);</span> <span class="comment">// fails (as -2 != 3)!
+</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"-2"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">,</span> <span class="special">-</span><span class="number">2</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../numeric.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.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/reference/numeric/unsigned_int.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -0,0 +1,811 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Unsigned Integer 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="../numeric.html" title="Numeric">
+<link rel="prev" href="signed_int.html" title="Signed Integer Number 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="signed_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.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="Unsigned Integer Number Generators">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.karma.reference.numeric.unsigned_int"></a><a class="link" href="unsigned_int.html" title="Unsigned Integer Number Generators"> Unsigned
+ Integer Number Generators</a>
+</h5></div></div></div>
+<a name="spirit.karma.reference.numeric.unsigned_int.description"></a><h6>
+<a name="id1196992"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.description">Description</a>
+ </h6>
+<p>
+ The signed integer number generators described in this section are:
+ </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">lit</span><span class="special">(</span><span class="identifier">num</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">num</span></code>,
+ where <code class="computeroutput"><span class="identifier">num</span></code> can
+ be a <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>,
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>,
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>,
+ or <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
+ <span class="keyword">long</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ushort</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a short integer
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ushort</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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 a short integer, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">uint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate an int
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">uint</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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 int, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate a long integer
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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 long integer, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong_long</span></code>
+ </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 a long long
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </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 long long, if an attribute is supplied it must match
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">>()</span></pre>
+<p>
+ </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>
+
+</p>
+<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"><</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">>()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate <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>
+<p>
+ These can be used to flexibly format any unsigned integer number of any
+ compatible type (for more information about the requirements, see <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.additional_requirements">below</a>).
+ </p>
+<p>
+ The interger number generators are very fast. For measurement results
+ comapring the <span class="emphasis"><em>Spirit.Karma</em></span> integer number generators
+ with equivalent constructs provided by other libraries see the section
+ <a class="link" href="../../performance_measurements/numeric_performance/int_performance.html" title="Comparing the performance of a single int_ generator">Performance
+ of Numeric Generators</a>
+ </p>
+<a name="spirit.karma.reference.numeric.unsigned_int.header"></a><h6>
+<a name="id1197750"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/numeric/uint.hpp>
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma_uint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.karma.reference.numeric.unsigned_int.model_of"></a><h6>
+<a name="id1197825"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.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.numeric.unsigned_int.expression_semantics"></a><h6>
+<a name="id1197861"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.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">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the integer literal <code class="computeroutput"><span class="identifier">num</span></code>
+ using the default formatting (radix is 10, sign is only printed
+ for negative literals). This generator never fails (except if
+ the underlying output stream reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort</span>
+<span class="identifier">uint</span>
+<span class="identifier">ulong</span>
+<span class="identifier">ulong_long</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the unsigned integer provided by a mandatory attribute
+ using the default formatting (radix is 10). This generator never
+ fails (except if the underlying output stream reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">uint</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">ulong</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the unsigned integer provided by the immediate literal
+ value the generator is initialized from using the default formatting
+ (radix is 10). 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>
+
+</p>
+<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"><</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">>()</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the unsigned integer of type <code class="computeroutput"><span class="identifier">Num</span></code>
+ provided by a mandatory attribute using the specified <code class="computeroutput"><span class="identifier">Radix</span></code> (possible values are
+ <code class="computeroutput"><span class="number">2</span></code>, <code class="computeroutput"><span class="number">8</span></code>, <code class="computeroutput"><span class="number">10</span></code>,
+ and <code class="computeroutput"><span class="number">16</span></code>, the default
+ value is <code class="computeroutput"><span class="number">10</span></code>).This
+ generator never fails (except if the underlying output stream
+ reports an error).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">>()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Generate the unsigned integer of type <code class="computeroutput"><span class="identifier">Num</span></code>
+ provided by the immediate literal value the generator is initialized
+ from, using the specified <code class="computeroutput"><span class="identifier">Radix</span></code>
+ (possible values are <code class="computeroutput"><span class="number">2</span></code>,
+ <code class="computeroutput"><span class="number">8</span></code>, <code class="computeroutput"><span class="number">10</span></code>, and <code class="computeroutput"><span class="number">16</span></code>,
+ the default value is <code class="computeroutput"><span class="number">10</span></code>).
+ 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>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.numeric.unsigned_int.additional_requirements"></a><h6>
+<a name="id1198287"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.additional_requirements">Additional
+ Requirements</a>
+ </h6>
+<p>
+ The following lists enumerate the requirements which must be met in order
+ to use a certain type <code class="computeroutput"><span class="identifier">Num</span></code>
+ to instantiate and use a <code class="computeroutput"><span class="identifier">uint_generator</span><span class="special"><</span><span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">></span></code>.
+ </p>
+<p>
+ If <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">Num</span><span class="special">>::</span><span class="identifier">value</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>
+ the type <code class="computeroutput"><span class="identifier">Num</span></code> must have
+ defined:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ comparison operators for: <code class="computeroutput"><span class="special"><</span></code>,
+ <code class="computeroutput"><span class="special"><=</span></code>, <code class="computeroutput"><span class="special">==</span></code>,
+ <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">></span></code>,
+ and <code class="computeroutput"><span class="special">>=</span></code>
+</li>
+<li class="listitem">
+ numeric operators for: <code class="computeroutput"><span class="special">+</span></code>,
+ <code class="computeroutput"><span class="special">-</span></code>, <code class="computeroutput"><span class="special">/</span></code>,
+ <code class="computeroutput"><span class="special">*</span></code>, and <code class="computeroutput"><span class="special">%</span></code>
+</li>
+</ul></div>
+<p>
+ If <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">Num</span><span class="special">>::</span><span class="identifier">value</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>
+ the type <code class="computeroutput"><span class="identifier">Num</span></code> must have
+ defined:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ comparison operators for: <code class="computeroutput"><span class="special"><</span></code>,
+ <code class="computeroutput"><span class="special"><=</span></code>, <code class="computeroutput"><span class="special">==</span></code>,
+ <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">></span></code>,
+ and <code class="computeroutput"><span class="special">>=</span></code>
+</li>
+<li class="listitem">
+ numeric operators for: <code class="computeroutput"><span class="special">+</span></code>,
+ <code class="computeroutput"><span class="special">-</span></code>, <code class="computeroutput"><span class="special">/</span></code>,
+ <code class="computeroutput"><span class="special">*</span></code>, and <code class="computeroutput"><span class="special">%</span></code>
+</li>
+<li class="listitem">
+ helper functions implementing the interface and the semantics of:
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fmod</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pow</span></code>,
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">lround</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ltrunc</span></code>,
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">floor</span></code>, and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ceil</span></code>.
+ </li>
+</ul></div>
+<a name="spirit.karma.reference.numeric.unsigned_int.attributes"></a><h6>
+<a name="id1198998"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.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">lit</span><span class="special">(</span><span class="identifier">num</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">ushort</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>,
+ attribute is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ushort</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>,
+ attribute is optional, if it is supplied, the generator compares
+ the attribute with <code class="computeroutput"><span class="identifier">num</span></code>
+ and succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">uint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>,
+ attribute is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">uint</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>,
+ attribute is optional, if it is supplied, the generator compares
+ the attribute with <code class="computeroutput"><span class="identifier">num</span></code>
+ and succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>,
+ attribute is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>,
+ attribute is optional, if it is supplied, the generator compares
+ the attribute with <code class="computeroutput"><span class="identifier">num</span></code>
+ and succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong_long</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
+ <span class="keyword">long</span></code>, attribute is mandatory
+ (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
+ <span class="keyword">long</span></code>, attribute is optional,
+ if it is supplied, the generator compares the attribute with
+ <code class="computeroutput"><span class="identifier">num</span></code> and succeeds
+ only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radixu</span>
+<span class="special">>()</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>, attribute
+ is mandatory (otherwise compilation will fail)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<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"><</span>
+ <span class="identifier">Num</span><span class="special">,</span> <span class="identifier">Radix</span>
+<span class="special">>()(</span><span class="identifier">num</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Num</span></code>, attribute
+ is optional, if it is supplied, the generator compares the attribute
+ with <code class="computeroutput"><span class="identifier">num</span></code> and
+ succeeds only if both are equal, failing otherwise.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.karma.reference.numeric.unsigned_int.complexity"></a><h6>
+<a name="id1199577"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ O(N), where <code class="computeroutput"><span class="identifier">N</span></code> is
+ the number of digits needed to represent the generated integer number
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="spirit.karma.reference.numeric.unsigned_int.example"></a><h6>
+<a name="id1199608"></a>
+ <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.example">Example</a>
+ </h6>
+<p>
+ Some includes:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">karma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ All code snippets below use this common test function:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">G</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">test_generator_attr</span><span class="special">(</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">expected</span><span class="special">,</span> <span class="identifier">G</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">attr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span> <span class="special">&&</span> <span class="identifier">str</span> <span class="special">==</span> <span class="identifier">expected</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"ok"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"fail"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Some using declarations:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">uint</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Basic usage of an and predicate generator:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">test_generator</span><span class="special">(</span><span class="string">"2"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="number">2U</span><span class="special">));</span>
+<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"2"</span><span class="special">,</span> <span class="identifier">uint</span><span class="special">(</span><span class="number">2</span><span class="special">));</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"2"</span><span class="special">,</span> <span class="identifier">uint</span><span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="number">2</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">uint</span><span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="number">3</span><span class="special">);</span> <span class="comment">// fails (as 2 != 3)!
+</span><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"2"</span><span class="special">,</span> <span class="identifier">uint</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signed_int.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.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>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -54,7 +54,7 @@
and the <span class="emphasis"><em>not</em></span> predicate (unary <code class="computeroutput"><span class="special">!</span></code>).
</p>
<a name="spirit.karma.reference.operator.module_header"></a><h6>
-<a name="id1157255"></a>
+<a name="id1206320"></a>
<a class="link" href="operator.html#spirit.karma.reference.operator.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
(<code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.alternative.description"></a><h6>
-<a name="id1161221"></a>
+<a name="id1208920"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
from left to right until one of them succeeds.
</p>
<a name="spirit.karma.reference.operator.alternative.header"></a><h6>
-<a name="id1161238"></a>
+<a name="id1208937"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/alternative.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.alternative.model_of"></a><h6>
-<a name="id1161312"></a>
+<a name="id1209011"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.alternative.expression_semantics"></a><h6>
-<a name="id1161346"></a>
+<a name="id1209045"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.expression_semantics">Expression
Semantics</a>
</h6>
@@ -113,7 +113,7 @@
an element succeeded.
</p>
<a name="spirit.karma.reference.operator.alternative.attributes"></a><h6>
-<a name="id1161457"></a>
+<a name="id1209157"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -175,7 +175,7 @@
an example of this behavior.
</p>
<a name="spirit.karma.reference.operator.alternative.complexity"></a><h6>
-<a name="id1162190"></a>
+<a name="id1209656"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -191,7 +191,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.alternative.example"></a><h6>
-<a name="id1162214"></a>
+<a name="id1209680"></a>
<a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.and_predicate.description"></a><h6>
-<a name="id1171288"></a>
+<a name="id1221902"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
succeeds.
</p>
<a name="spirit.karma.reference.operator.and_predicate.header"></a><h6>
-<a name="id1171308"></a>
+<a name="id1221921"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/and_predicate.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.and_predicate.model_of"></a><h6>
-<a name="id1171382"></a>
+<a name="id1221995"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.and_predicate.expression_semantics"></a><h6>
-<a name="id1171418"></a>
+<a name="id1222031"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.expression_semantics">Expression
Semantics</a>
</h6>
@@ -108,7 +108,7 @@
its embedded generator into a discarding device.
</p>
<a name="spirit.karma.reference.operator.and_predicate.attributes"></a><h6>
-<a name="id1171521"></a>
+<a name="id1222134"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -138,13 +138,25 @@
<p>
<code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
<span class="identifier">A</span> <span class="special">--></span>
- <span class="special">&</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></code>
+ <span class="special">&</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span></code>
</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>
+ The attribute of the and predicate is not always <code class="computeroutput"><span class="identifier">Unused</span></code>,
+ which is different from Qi's and predicate. This is necessary as the
+ generator the and predicate is attached to most of the time needs an
+ attribute.
+ </p></td></tr>
+</table></div>
<a name="spirit.karma.reference.operator.and_predicate.complexity"></a><h6>
-<a name="id1171634"></a>
+<a name="id1222262"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -159,7 +171,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.and_predicate.example"></a><h6>
-<a name="id1171660"></a>
+<a name="id1222288"></a>
<a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.example">Example</a>
</h6>
<p>
@@ -214,6 +226,7 @@
</p>
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">string</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">ref</span><span class="special">;</span>
</pre>
@@ -229,17 +242,11 @@
<p>
</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
-<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"numeric: 1.0"</span><span class="special">,</span>
- <span class="special">&((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"numeric: "</span> <span class="special"><<</span> <span class="identifier">double_</span>
- <span class="special">|</span> <span class="special">&((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"string: "</span> <span class="special"><<</span> <span class="identifier">string</span>
-<span class="special">);</span>
+<pre class="programlisting"><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"b"</span><span class="special">,</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="special"><<</span> <span class="char">'b'</span> <span class="special">|</span> <span class="char">'c'</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">"c"</span><span class="special">,</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="special"><<</span> <span class="char">'b'</span> <span class="special">|</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'x'</span><span class="special">);</span>
-<span class="identifier">v</span> <span class="special">=</span> <span class="string">"example"</span>
-<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"string: example"</span><span class="special">,</span>
- <span class="special">&((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"numeric: "</span> <span class="special"><<</span> <span class="identifier">double_</span>
- <span class="special">|</span> <span class="special">&((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"string: "</span> <span class="special"><<</span> <span class="identifier">string</span>
-<span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"abc"</span><span class="special">,</span> <span class="special">&</span><span class="identifier">string</span><span class="special">(</span><span class="string">"123"</span><span class="special">)</span> <span class="special"><<</span> <span class="string">"abc"</span> <span class="special">|</span> <span class="string">"def"</span><span class="special">,</span> <span class="string">"123"</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"def"</span><span class="special">,</span> <span class="special">&</span><span class="identifier">string</span><span class="special">(</span><span class="string">"123"</span><span class="special">)</span> <span class="special"><<</span> <span class="string">"abc"</span> <span class="special">|</span> <span class="string">"def"</span><span class="special">,</span> <span class="string">"456"</span><span class="special">);</span>
</pre>
<p>
</p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
(unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.kleene.description"></a><h6>
-<a name="id1163307"></a>
+<a name="id1211913"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
generator, the Kleene star generator always succeeds.
</p>
<a name="spirit.karma.reference.operator.kleene.header"></a><h6>
-<a name="id1163324"></a>
+<a name="id1211930"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/kleene.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.kleene.model_of"></a><h6>
-<a name="id1163398"></a>
+<a name="id1212004"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.kleene.expression_semantics"></a><h6>
-<a name="id1163437"></a>
+<a name="id1212042"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.expression_semantics">Expression
Semantics</a>
</h6>
@@ -105,7 +105,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.operator.kleene.attributes"></a><h6>
-<a name="id1163544"></a>
+<a name="id1212149"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -204,7 +204,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.kleene.complexity"></a><h6>
-<a name="id1163869"></a>
+<a name="id1212474"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -221,7 +221,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.kleene.example"></a><h6>
-<a name="id1163893"></a>
+<a name="id1212498"></a>
<a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.reference.operator.list"></a><a class="link" href="list.html" title="Lists (operator%())"> Lists (<code class="computeroutput"><span class="keyword">operator</span><span class="special">%()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.list.description"></a><h6>
-<a name="id1168118"></a>
+<a name="id1215184"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
at least once.
</p>
<a name="spirit.karma.reference.operator.list.header"></a><h6>
-<a name="id1168135"></a>
+<a name="id1215201"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/list.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.list.model_of"></a><h6>
-<a name="id1168209"></a>
+<a name="id1215275"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.list.expression_semantics"></a><h6>
-<a name="id1168248"></a>
+<a name="id1215314"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.expression_semantics">Expression
Semantics</a>
</h6>
@@ -113,7 +113,7 @@
the list generator.
</p>
<a name="spirit.karma.reference.operator.list.attributes"></a><h6>
-<a name="id1168429"></a>
+<a name="id1217165"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -226,7 +226,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.list.complexity"></a><h6>
-<a name="id1168831"></a>
+<a name="id1217567"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -242,7 +242,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.list.example"></a><h6>
-<a name="id1168855"></a>
+<a name="id1217591"></a>
<a class="link" href="list.html#spirit.karma.reference.operator.list.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
Predicate (unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">!()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.not_predicate.description"></a><h6>
-<a name="id1174479"></a>
+<a name="id1223363"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
fails.
</p>
<a name="spirit.karma.reference.operator.not_predicate.header"></a><h6>
-<a name="id1174498"></a>
+<a name="id1223382"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/not_predicate.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.not_predicate.model_of"></a><h6>
-<a name="id1174572"></a>
+<a name="id1223456"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.not_predicate.expression_semantics"></a><h6>
-<a name="id1174608"></a>
+<a name="id1223492"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.expression_semantics">Expression
Semantics</a>
</h6>
@@ -108,7 +108,7 @@
its embedded generator into a discarding device.
</p>
<a name="spirit.karma.reference.operator.not_predicate.attributes"></a><h6>
-<a name="id1174712"></a>
+<a name="id1223595"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -138,13 +138,25 @@
<p>
<code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
<span class="identifier">A</span> <span class="special">--></span>
- <span class="special">!</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">Unused</span></code>
+ <span class="special">!</span><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span></code>
</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>
+ The attribute of the and predicate is not always <code class="computeroutput"><span class="identifier">Unused</span></code>,
+ which is different from Qi's and predicate. This is necessary as the
+ generator the and predicate is attached to most of the time needs an
+ attribute.
+ </p></td></tr>
+</table></div>
<a name="spirit.karma.reference.operator.not_predicate.complexity"></a><h6>
-<a name="id1174824"></a>
+<a name="id1223723"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -159,7 +171,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.not_predicate.example"></a><h6>
-<a name="id1174851"></a>
+<a name="id1223749"></a>
<a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.example">Example</a>
</h6>
<p>
@@ -214,6 +226,7 @@
</p>
<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">karma</span><span class="special">::</span><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">string</span><span class="special">;</span>
<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">ref</span><span class="special">;</span>
</pre>
@@ -229,17 +242,11 @@
<p>
</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1.0</span><span class="special">);</span>
-<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"not a string!"</span><span class="special">,</span>
- <span class="special">!((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not numeric!"</span>
- <span class="special">|</span> <span class="special">!((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not a string!"</span>
-<span class="special">);</span>
+<pre class="programlisting"><span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"c"</span><span class="special">,</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="special"><<</span> <span class="char">'b'</span> <span class="special">|</span> <span class="char">'c'</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">"b"</span><span class="special">,</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="special"><<</span> <span class="char">'b'</span> <span class="special">|</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'x'</span><span class="special">);</span>
-<span class="identifier">v</span> <span class="special">=</span> <span class="string">"example"</span>
-<span class="identifier">test_generator</span><span class="special">(</span><span class="string">"not numeric!"</span><span class="special">,</span>
- <span class="special">!((</span><span class="identifier">double_</span> <span class="special">|</span> <span class="identifier">int_</span><span class="special">)[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not numeric!"</span>
- <span class="special">|</span> <span class="special">!((</span><span class="identifier">string</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">(</span><span class="keyword">false</span><span class="special">))[</span><span class="identifier">_1</span> <span class="special">=</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)])</span> <span class="special"><<</span> <span class="string">"not a string!"</span>
-<span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"def"</span><span class="special">,</span> <span class="special">!</span><span class="identifier">string</span><span class="special">(</span><span class="string">"123"</span><span class="special">)</span> <span class="special"><<</span> <span class="string">"abc"</span> <span class="special">|</span> <span class="string">"def"</span><span class="special">,</span> <span class="string">"123"</span><span class="special">);</span>
+<span class="identifier">test_generator_attr</span><span class="special">(</span><span class="string">"abc"</span><span class="special">,</span> <span class="special">!</span><span class="identifier">string</span><span class="special">(</span><span class="string">"123"</span><span class="special">)</span> <span class="special"><<</span> <span class="string">"abc"</span> <span class="special">|</span> <span class="string">"def"</span><span class="special">,</span> <span class="string">"456"</span><span class="special">);</span>
</pre>
<p>
</p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
(unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.optional.description"></a><h6>
-<a name="id1169756"></a>
+<a name="id1218492"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
It succeeds always.
</p>
<a name="spirit.karma.reference.operator.optional.header"></a><h6>
-<a name="id1169773"></a>
+<a name="id1218509"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/optional.hpp>
@@ -46,7 +46,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.optional.model_of"></a><h6>
-<a name="id1169847"></a>
+<a name="id1218583"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.model_of">Model
of</a>
</h6>
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.optional.expression_semantics"></a><h6>
-<a name="id1169886"></a>
+<a name="id1218622"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.expression_semantics">Expression
Semantics</a>
</h6>
@@ -102,7 +102,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.operator.optional.attributes"></a><h6>
-<a name="id1169985"></a>
+<a name="id1218721"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -184,7 +184,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.optional.complexity"></a><h6>
-<a name="id1170326"></a>
+<a name="id1219018"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -199,7 +199,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.optional.example"></a><h6>
-<a name="id1170350"></a>
+<a name="id1219042"></a>
<a class="link" href="optional.html#spirit.karma.reference.operator.optional.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
<code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.plus.description"></a><h6>
-<a name="id1166492"></a>
+<a name="id1213584"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
executed at least once.
</p>
<a name="spirit.karma.reference.operator.plus.header"></a><h6>
-<a name="id1166508"></a>
+<a name="id1213601"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/plus.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.plus.model_of"></a><h6>
-<a name="id1166583"></a>
+<a name="id1213676"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -60,7 +60,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.plus.expression_semantics"></a><h6>
-<a name="id1166621"></a>
+<a name="id1213714"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.expression_semantics">Expression
Semantics</a>
</h6>
@@ -105,7 +105,7 @@
</tr></tbody>
</table></div>
<a name="spirit.karma.reference.operator.plus.attributes"></a><h6>
-<a name="id1166728"></a>
+<a name="id1213821"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -204,7 +204,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.plus.complexity"></a><h6>
-<a name="id1167053"></a>
+<a name="id1214146"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -220,7 +220,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.plus.example"></a><h6>
-<a name="id1167077"></a>
+<a name="id1214170"></a>
<a class="link" href="plus.html#spirit.karma.reference.operator.plus.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
(<code class="computeroutput"><span class="keyword">operator</span><span class="special"><<()</span></code>)</a>
</h5></div></div></div>
<a name="spirit.karma.reference.operator.sequence.description"></a><h6>
-<a name="id1157342"></a>
+<a name="id1206407"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
to right as long as they succeed.
</p>
<a name="spirit.karma.reference.operator.sequence.header"></a><h6>
-<a name="id1157359"></a>
+<a name="id1206423"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/karma/operator/sequence.hpp>
@@ -47,7 +47,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.karma.reference.operator.sequence.model_of"></a><h6>
-<a name="id1157433"></a>
+<a name="id1206498"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.model_of">Model
of</a>
</h6>
@@ -61,7 +61,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.sequence.expression_semantics"></a><h6>
-<a name="id1157469"></a>
+<a name="id1206534"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.expression_semantics">Expression
Semantics</a>
</h6>
@@ -133,7 +133,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.reference.operator.sequence.attributes"></a><h6>
-<a name="id1159585"></a>
+<a name="id1206727"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -206,7 +206,7 @@
the attribute supplied
</p>
<a name="spirit.karma.reference.operator.sequence.complexity"></a><h6>
-<a name="id1160383"></a>
+<a name="id1208083"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -221,7 +221,7 @@
</p>
</blockquote></div>
<a name="spirit.karma.reference.operator.sequence.example"></a><h6>
-<a name="id1160407"></a>
+<a name="id1208107"></a>
<a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_attributes.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
Generator Attributes</a>
</h4></div></div></div>
<a name="spirit.karma.tutorials.karma_attributes.attributes_of_primitive_generators"></a><h6>
-<a name="id1134637"></a>
+<a name="id1172693"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_primitive_generators">Attributes
of Primitive Generators</a>
</h6>
@@ -59,7 +59,7 @@
<span class="identifier">generate</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
</pre>
<a name="spirit.karma.tutorials.karma_attributes.attributes_of_compound_generators"></a><h6>
-<a name="id1134832"></a>
+<a name="id1172888"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_compound_generators">Attributes
of Compound Generators</a>
</h6>
@@ -118,7 +118,7 @@
Attribute Rules</a>.
</p>
<a name="spirit.karma.tutorials.karma_attributes.the_attribute_of_sequence_generators"></a><h6>
-<a name="id1135176"></a>
+<a name="id1173232"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.the_attribute_of_sequence_generators">The
Attribute of Sequence Generators</a>
</h6>
@@ -185,7 +185,7 @@
</td></tr>
</table></div>
<a name="spirit.karma.tutorials.karma_attributes.more_about_attributes_of_compound_generators"></a><h6>
-<a name="id1135595"></a>
+<a name="id1173651"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.more_about_attributes_of_compound_generators">More
About Attributes of Compound Generators</a>
</h6>
@@ -278,7 +278,7 @@
for sequences but for any compound generator in <span class="emphasis"><em>Spirit.Karma</em></span>.
</p>
<a name="spirit.karma.tutorials.karma_attributes.attributes_of_rules_and_grammars"></a><h6>
-<a name="id1138588"></a>
+<a name="id1174459"></a>
<a class="link" href="karma_attributes.html#spirit.karma.tutorials.karma_attributes.attributes_of_rules_and_grammars">Attributes
of Rules and Grammars</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.karma.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
</h4></div></div></div>
<a name="spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_"></a><h6>
-<a name="id1129249"></a>
+<a name="id1167321"></a>
<a class="link" href="quick_start.html#spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_">Spirit.Karma
- what's that?</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -247,7 +247,7 @@
The examples above can be found here: actions.cpp
</p>
<a name="spirit.karma.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id1132209"></a>
+<a name="id1170127"></a>
<a class="link" href="semantic_actions.html#spirit.karma.tutorials.semantic_actions.phoenix">Phoenix</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -31,7 +31,7 @@
We will start from trivial examples, ramping up as we go.
</p>
<a name="spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number"></a><h6>
-<a name="id1129375"></a>
+<a name="id1167447"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number">Trivial
Example #1 Generating a number</a>
</h6>
@@ -51,7 +51,7 @@
to a floating point generator or parser: <code class="computeroutput"><span class="identifier">double_</span></code>.
</p>
<a name="spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers"></a><h6>
-<a name="id1129418"></a>
+<a name="id1167490"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers">Trivial
Example #2 Generating two numbers</a>
</h6>
@@ -89,7 +89,7 @@
</p></td></tr>
</table></div>
<a name="spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers"></a><h6>
-<a name="id1129504"></a>
+<a name="id1167575"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers">Trivial
Example #3 Generating one or more numbers</a>
</h6>
@@ -114,7 +114,7 @@
numbers, if needed.
</p>
<a name="spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id1129552"></a>
+<a name="id1167623"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers">Trivial
Example #4 Generating a comma-delimited list of numbers</a>
</h6>
@@ -137,7 +137,7 @@
in the generated output zero or more times.
</p>
<a name="spirit.karma.tutorials.warming_up.let_s_generate_"></a><h6>
-<a name="id1129686"></a>
+<a name="id1167758"></a>
<a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.let_s_generate_">Let's
Generate!</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -51,7 +51,7 @@
of the <span class="emphasis"><em>Spirit.Lex</em></span> library.
</p>
<a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token"></a><h6>
-<a name="id1197171"></a>
+<a name="id1244818"></a>
<a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token">The
Anatomy of a Token</a>
</h6>
@@ -187,7 +187,7 @@
when it is requested for the first time.
</p>
<a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition"></a><h6>
-<a name="id1197697"></a>
+<a name="id1245343"></a>
<a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition">The
Physiognomy of a Token Definition</a>
</h6>
@@ -260,7 +260,7 @@
</td></tr>
</table></div>
<a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_"></a><h6>
-<a name="id1197952"></a>
+<a name="id1245599"></a>
<a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__link_linkend__spirit_lex_reference_token_class___code__phrase_role__identifier__lexertl_token__phrase__phrase_role__special___lt__gt___phrase___code___link_">Examples
of using <a class="link" href="../../reference/token_class.html" title="Token Class"><code class="computeroutput"><span class="identifier">lexertl_token</span><span class="special"><></span></code></a></a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -105,7 +105,7 @@
<span class="keyword">void</span> <span class="identifier">f</span> <span class="special">();</span>
</pre>
<a name="spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action"></a><h6>
-<a name="id1203598"></a>
+<a name="id1250388"></a>
<a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action">The
context of a lexer semantic action</a>
</h6>
@@ -120,7 +120,7 @@
of the available functionality.
</p>
<div class="table">
-<a name="id1203618"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
+<a name="id1250408"></a><p class="title"><b>Table 9. Functions exposed by any context passed to a lexer
semantic action</b></p>
<div class="table-contents"><table class="table" summary="Functions exposed by any context passed to a lexer
semantic action">
@@ -241,7 +241,7 @@
</table></div>
</div>
<br class="table-break"><a name="spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix"></a><h6>
-<a name="id1204137"></a>
+<a name="id1252310"></a>
<a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix">Lexer
Semantic Actions Using Phoenix</a>
</h6>
@@ -253,7 +253,7 @@
predefined Spirit placeholders:
</p>
<div class="table">
-<a name="id1204159"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
+<a name="id1252332"></a><p class="title"><b>Table 10. Predefined Phoenix placeholders for lexer semantic
actions</b></p>
<div class="table-contents"><table class="table" summary="Predefined Phoenix placeholders for lexer semantic
actions">
@@ -384,7 +384,7 @@
table lists the available support functions and describes their functionality:
</p>
<div class="table">
-<a name="id1204438"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
+<a name="id1252611"></a><p class="title"><b>Table 11. Support functions usable from Phoenix expressions
inside lexer semantic actions</b></p>
<div class="table-contents"><table class="table" summary="Support functions usable from Phoenix expressions
inside lexer semantic actions">
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,17 +27,17 @@
<a name="spirit.lex.abstracts.lexer_states"></a><a class="link" href="lexer_states.html" title="Lexer States"> Lexer States</a>
</h4></div></div></div>
<a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions"></a><h6>
-<a name="id1207330"></a>
+<a name="id1256530"></a>
<a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_lexer_semantic_actions">Controlling
the Lexer State from Lexer Semantic Actions</a>
</h6>
<a name="spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions"></a><h6>
-<a name="id1207343"></a>
+<a name="id1256543"></a>
<a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.controlling_the_lexer_state_from_parser_semantic_actions">Controlling
the Lexer State from Parser Semantic Actions</a>
</h6>
<a name="spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser"></a><h6>
-<a name="id1207356"></a>
+<a name="id1256556"></a>
<a class="link" href="lexer_states.html#spirit.lex.abstracts.lexer_states.using_a_lexer_state_for_the_skip_parser">Using
a Lexer State for the Skip Parser</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -176,7 +176,7 @@
<p>
</p>
<a name="spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer"></a><h6>
-<a name="id1206003"></a>
+<a name="id1254060"></a>
<a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer">Generating
the Static Analyzer</a>
</h6>
@@ -225,7 +225,7 @@
the next topic (the full generated code can be viewed here).
</p>
<a name="spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer"></a><h6>
-<a name="id1206330"></a>
+<a name="id1255530"></a>
<a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer">Modifying
the Dynamic Analyzer</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -28,7 +28,7 @@
Input Data</a>
</h4></div></div></div>
<a name="spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function"></a><h6>
-<a name="id1198479"></a>
+<a name="id1246126"></a>
<a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function">The
tokenize function</a>
</h6>
@@ -228,7 +228,7 @@
</dl>
</div>
<a name="spirit.lex.abstracts.lexer_tokenizing.the_generate_static_function"></a><h6>
-<a name="id1201060"></a>
+<a name="id1249766"></a>
<a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_generate_static_function">The
generate_static function</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -56,7 +56,7 @@
</li>
</ul></div>
<a name="spirit.lex.lexer_introduction.why_use_a_separate_lexer_"></a><h5>
-<a name="id1183820"></a>
+<a name="id1232519"></a>
<a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.why_use_a_separate_lexer_">Why
Use a Separate Lexer?</a>
</h5>
@@ -155,7 +155,7 @@
grammar recognizers.
</p>
<a name="spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id1184029"></a>
+<a name="id1232728"></a>
<a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_">Advantages
of using <span class="emphasis"><em>Spirit.Lex</em></span></a>
</h5>
@@ -203,7 +203,7 @@
application.
</p>
<a name="spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id1184132"></a>
+<a name="id1232831"></a>
<a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_">The
Library Structure of <span class="emphasis"><em>Spirit.Lex</em></span></a>
</h5>
Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/concepts/lexer.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.lex.reference.concepts.lexer"></a><a class="link" href="lexer.html" title="Lexer">Lexer</a>
</h5></div></div></div>
<div class="table">
-<a name="id1207408"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
+<a name="id1256608"></a><p class="title"><b>Table 12. Regular expressions support</b></p>
<div class="table-contents"><table class="table" summary="Regular expressions support">
<colgroup>
<col>
@@ -502,7 +502,7 @@
</p></td></tr>
</table></div>
<a name="spirit.lex.reference.concepts.lexer.regular_expression_precedence"></a><h6>
-<a name="id1209082"></a>
+<a name="id1258339"></a>
<a class="link" href="lexer.html#spirit.lex.reference.concepts.lexer.regular_expression_precedence">Regular
Expression Precedence</a>
</h6>
@@ -521,7 +521,7 @@
</li>
</ul></div>
<a name="spirit.lex.reference.concepts.lexer.macros"></a><h6>
-<a name="id1209185"></a>
+<a name="id1258442"></a>
<a class="link" href="lexer.html#spirit.lex.reference.concepts.lexer.macros">Macros</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_class.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,22 +27,22 @@
<a name="spirit.lex.reference.lexer_class"></a><a class="link" href="lexer_class.html" title="Lexer Class">Lexer Class</a>
</h4></div></div></div>
<a name="spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model"></a><h6>
-<a name="id1209307"></a>
+<a name="id1258564"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_lexer_class_implementing_the_dynamic_model">The
lexertl_lexer Class Implementing the Dynamic Model</a>
</h6>
<a name="spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model"></a><h6>
-<a name="id1209320"></a>
+<a name="id1258577"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_actor_lexer_class_implementing_the_dynamic_model">The
lexertl_actor_lexer Class Implementing the Dynamic Model</a>
</h6>
<a name="spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model"></a><h6>
-<a name="id1209334"></a>
+<a name="id1258591"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_lexer_class_implementing_the_static_model">The
lexertl_static_lexer Class Implementing the Static Model</a>
</h6>
<a name="spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model"></a><h6>
-<a name="id1209347"></a>
+<a name="id1258604"></a>
<a class="link" href="lexer_class.html#spirit.lex.reference.lexer_class.the_lexertl_static_actor_lexer_class_implementing_the_static_model">The
lexertl_static_actor_lexer Class Implementing the Static Model</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -39,7 +39,7 @@
(for the full example code see here: word_count_functor.cpp).
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.prerequisites"></a><h6>
-<a name="id1184401"></a>
+<a name="id1233100"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.prerequisites">Prerequisites</a>
</h6>
<p>
@@ -78,7 +78,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.defining_tokens"></a><h6>
-<a name="id1184646"></a>
+<a name="id1233345"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.defining_tokens">Defining
Tokens</a>
</h6>
@@ -133,7 +133,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work"></a><h6>
-<a name="id1184954"></a>
+<a name="id1233653"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work">Doing
the Useful Work</a>
</h6>
@@ -198,7 +198,7 @@
as well.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together"></a><h6>
-<a name="id1185580"></a>
+<a name="id1234152"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together">Pulling
Everything Together</a>
</h6>
@@ -251,7 +251,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_"></a><h6>
-<a name="id1186406"></a>
+<a name="id1235763"></a>
<a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_">Comparing
<span class="emphasis"><em>Spirit.Lex</em></span> with Flex</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -40,7 +40,7 @@
options along the lines (for the full example code see here: word_count_lexer.cpp).
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.prerequisites"></a><h6>
-<a name="id1187182"></a>
+<a name="id1236539"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.prerequisites">Prerequisites</a>
</h6>
<p>
@@ -114,7 +114,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_"></a><h6>
-<a name="id1189862"></a>
+<a name="id1237188"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_">Semantic
Actions in <span class="emphasis"><em>Spirit.Lex</em></span></a>
</h6>
@@ -173,7 +173,7 @@
Semantic Actions</a>.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer"></a><h6>
-<a name="id1190480"></a>
+<a name="id1238435"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer">Associating
Token Definitions with the Lexer</a>
</h6>
@@ -209,7 +209,7 @@
with the constant defined by <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">lex</span><span class="special">::</span><span class="identifier">min_token_id</span></code>.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together"></a><h6>
-<a name="id1190768"></a>
+<a name="id1238723"></a>
<a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together">Pulling
everything together</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -65,7 +65,7 @@
code see here: word_count.cpp).
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.prerequisites"></a><h6>
-<a name="id1191743"></a>
+<a name="id1239697"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.prerequisites">Prerequisites</a>
</h6>
<p>
@@ -115,7 +115,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.defining_tokens"></a><h6>
-<a name="id1192174"></a>
+<a name="id1242350"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.defining_tokens">Defining
Tokens</a>
</h6>
@@ -168,7 +168,7 @@
<p>
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers"></a><h6>
-<a name="id1192511"></a>
+<a name="id1242688"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers">Using
Token Definition Instances as Parsers</a>
</h6>
@@ -322,7 +322,7 @@
<span class="identifier">size</span><span class="special">(</span><span class="identifier">_1</span><span class="special">)</span></code>.
</p>
<a name="spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together"></a><h6>
-<a name="id1193364"></a>
+<a name="id1243541"></a>
<a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together">Pulling
Everything Together</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/preface.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/preface.html (original)
+++ trunk/libs/spirit/doc/html/spirit/preface.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -41,11 +41,11 @@
</p>
</blockquote></div>
<a name="spirit.preface.history"></a><h4>
-<a name="id1067476"></a>
+<a name="id1104156"></a>
<a class="link" href="preface.html#spirit.preface.history">History</a>
</h4>
<a name="spirit.preface._emphasis_80s__emphasis_"></a><h4>
-<a name="id1067490"></a>
+<a name="id1104169"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_80s__emphasis_"><span class="emphasis"><em>80s</em></span></a>
</h4>
<p>
@@ -59,7 +59,7 @@
parser. This worked very well.
</p>
<a name="spirit.preface._emphasis_90s__emphasis_"></a><h4>
-<a name="id1067508"></a>
+<a name="id1104187"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_90s__emphasis_"><span class="emphasis"><em>90s</em></span></a>
</h4>
<p>
@@ -97,7 +97,7 @@
here: pre-Spirit.
</p>
<a name="spirit.preface._emphasis_2001_to_2006__emphasis_"></a><h4>
-<a name="id1067550"></a>
+<a name="id1104229"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_2001_to_2006__emphasis_"><span class="emphasis"><em>2001
to 2006</em></span></a>
</h4>
@@ -127,7 +127,7 @@
for design and implementation quality, robustness, and reusability.
</p>
<a name="spirit.preface._emphasis_2007__emphasis_"></a><h4>
-<a name="id1067584"></a>
+<a name="id1104264"></a>
<a class="link" href="preface.html#spirit.preface._emphasis_2007__emphasis_"><span class="emphasis"><em>2007</em></span></a>
</h4>
<p>
@@ -164,7 +164,7 @@
gives you the right ingredients to create a sledgehammer easily.
</p>
<a name="spirit.preface.new_ideas__spirit_v2"></a><h4>
-<a name="id1067660"></a>
+<a name="id1104339"></a>
<a class="link" href="preface.html#spirit.preface.new_ideas__spirit_v2">New Ideas: Spirit V2</a>
</h4>
<p>
@@ -202,7 +202,7 @@
same underlying component library as for the parser and generator libraries.
</p>
<a name="spirit.preface.how_to_use_this_manual"></a><h4>
-<a name="id1067710"></a>
+<a name="id1104390"></a>
<a class="link" href="preface.html#spirit.preface.how_to_use_this_manual">How to use this manual</a>
</h4>
<p>
@@ -233,7 +233,7 @@
icons precede some text to indicate:
</p>
<div class="table">
-<a name="id1067763"></a><p class="title"><b>Table 1. Icons</b></p>
+<a name="id1104442"></a><p class="title"><b>Table 1. Icons</b></p>
<div class="table-contents"><table class="table" summary="Icons">
<colgroup>
<col>
@@ -354,7 +354,7 @@
Tools</a>.
</p>
<a name="spirit.preface.support"></a><h4>
-<a name="id1068004"></a>
+<a name="id1104684"></a>
<a class="link" href="preface.html#spirit.preface.support">Support</a>
</h4>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -41,7 +41,7 @@
<span class="identifier">b</span></code> will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span></code>.
</p>
<div class="table">
-<a name="id1106826"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
+<a name="id1143584"></a><p class="title"><b>Table 4. compound parser attribute types</b></p>
<div class="table-contents"><table class="table" summary="compound parser attribute types">
<colgroup>
<col>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -34,7 +34,7 @@
<code class="computeroutput"><span class="identifier">eps</span></code>, and <code class="computeroutput"><span class="identifier">lazy</span></code> parsers.
</p>
<a name="spirit.qi.reference.auxiliary.module_header"></a><h6>
-<a name="id1117595"></a>
+<a name="id1154284"></a>
<a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/auxiliary.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -31,7 +31,7 @@
consuming any input
</li></ul></div>
<a name="spirit.qi.reference.auxiliary.attr.description"></a><h6>
-<a name="id1117699"></a>
+<a name="id1154388"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.description">Description</a>
</h6>
<p>
@@ -42,7 +42,7 @@
an attribute to the parsing process.
</p>
<a name="spirit.qi.reference.auxiliary.attr.header"></a><h6>
-<a name="id1117730"></a>
+<a name="id1154420"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/auxiliary/attr.hpp>
@@ -52,7 +52,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.auxiliary.attr.model_of"></a><h6>
-<a name="id1117805"></a>
+<a name="id1154494"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -80,7 +80,7 @@
</dl>
</div>
<a name="spirit.qi.reference.auxiliary.attr.expression_semantics"></a><h6>
-<a name="id1117886"></a>
+<a name="id1154576"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.expression_semantics">Expression
Semantics</a>
</h6>
@@ -137,7 +137,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.auxiliary.attr.attributes"></a><h6>
-<a name="id1118046"></a>
+<a name="id1154735"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -187,7 +187,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.auxiliary.attr.complexity"></a><h6>
-<a name="id1119352"></a>
+<a name="id1156041"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -204,7 +204,7 @@
done.
</p>
<a name="spirit.qi.reference.auxiliary.attr.example"></a><h6>
-<a name="id1119380"></a>
+<a name="id1156069"></a>
<a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.basics"></a><a class="link" href="basics.html" title="Basics">Basics</a>
</h4></div></div></div>
<a name="spirit.qi.reference.basics.lazy_argument"></a><h6>
-<a name="id1117224"></a>
+<a name="id1153913"></a>
<a class="link" href="basics.html#spirit.qi.reference.basics.lazy_argument">Lazy Argument</a>
</h6>
<p>
@@ -51,7 +51,7 @@
second argument. This is done for uniformity with Semantic Actions).
</p>
<a name="spirit.qi.reference.basics.character_encoding_namespace"></a><h6>
-<a name="id1117361"></a>
+<a name="id1154050"></a>
<a class="link" href="basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
Encoding Namespace</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -34,7 +34,7 @@
<code class="computeroutput"><span class="identifier">raw</span></code>, and <code class="computeroutput"><span class="identifier">skip</span></code> directives.
</p>
<a name="spirit.qi.reference.directive.module_header"></a><h6>
-<a name="id1120431"></a>
+<a name="id1157120"></a>
<a class="link" href="directive.html#spirit.qi.reference.directive.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/directive.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -31,7 +31,7 @@
forcing all embedded parsers to do case in-sensitive matching.
</li></ul></div>
<a name="spirit.qi.reference.directive.no_case.description"></a><h6>
-<a name="id1120535"></a>
+<a name="id1157225"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.description">Description</a>
</h6>
<p>
@@ -41,7 +41,7 @@
of all embedded parsers to be case in-sensitive.
</p>
<a name="spirit.qi.reference.directive.no_case.header"></a><h6>
-<a name="id1120563"></a>
+<a name="id1157252"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/directive/no_case.hpp>
@@ -51,7 +51,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.directive.no_case.model_of"></a><h6>
-<a name="id1120637"></a>
+<a name="id1157327"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.model_of">Model
of</a>
</h6>
@@ -76,7 +76,7 @@
</dl>
</div>
<a name="spirit.qi.reference.directive.no_case.expression_semantics"></a><h6>
-<a name="id1120700"></a>
+<a name="id1157389"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.expression_semantics">Expression
Semantics</a>
</h6>
@@ -137,7 +137,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.directive.no_case.attributes"></a><h6>
-<a name="id1121006"></a>
+<a name="id1157695"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -172,7 +172,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.directive.no_case.complexity"></a><h6>
-<a name="id1121095"></a>
+<a name="id1157784"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -185,7 +185,7 @@
</p>
</blockquote></div>
<a name="spirit.qi.reference.directive.no_case.example"></a><h6>
-<a name="id1121119"></a>
+<a name="id1157808"></a>
<a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.binaryparser"></a><a class="link" href="binaryparser.html" title="BinaryParser">BinaryParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.description"></a><h6>
-<a name="id1116029"></a>
+<a name="id1152718"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
following the Composite Design Pattern.
</p>
<a name="spirit.qi.reference.parser_concepts.binaryparser.refinement_of"></a><h6>
-<a name="id1116080"></a>
+<a name="id1152770"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.refinement_of">Refinement
of</a>
</h6>
@@ -64,7 +64,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.valid_expressions"></a><h6>
-<a name="id1116160"></a>
+<a name="id1152849"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -133,7 +133,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.type_expressions"></a><h6>
-<a name="id1116320"></a>
+<a name="id1153010"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.type_expressions">Type
Expressions</a>
</h6>
@@ -198,7 +198,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.invariants"></a><h6>
-<a name="id1116522"></a>
+<a name="id1153211"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.invariants">Invariants</a>
</h6>
<p>
@@ -214,7 +214,7 @@
</li>
</ul></div>
<a name="spirit.qi.reference.parser_concepts.binaryparser.models"></a><h6>
-<a name="id1116661"></a>
+<a name="id1153350"></a>
<a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.naryparser"></a><a class="link" href="naryparser.html" title="NaryParser">NaryParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.description"></a><h6>
-<a name="id1116696"></a>
+<a name="id1153385"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.description">Description</a>
</h6>
<p>
@@ -37,7 +37,7 @@
Design Pattern.
</p>
<a name="spirit.qi.reference.parser_concepts.naryparser.refinement_of"></a><h6>
-<a name="id1116732"></a>
+<a name="id1153421"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.refinement_of">Refinement
of</a>
</h6>
@@ -64,7 +64,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.naryparser.valid_expressions"></a><h6>
-<a name="id1116811"></a>
+<a name="id1153500"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -115,7 +115,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.type_expressions"></a><h6>
-<a name="id1116934"></a>
+<a name="id1153623"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.type_expressions">Type
Expressions</a>
</h6>
@@ -168,7 +168,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.invariants"></a><h6>
-<a name="id1117105"></a>
+<a name="id1153794"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.invariants">Invariants</a>
</h6>
<p>
@@ -180,7 +180,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special"><</span><span class="identifier">E</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.qi.reference.parser_concepts.naryparser.models"></a><h6>
-<a name="id1117190"></a>
+<a name="id1153880"></a>
<a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.parser"></a><a class="link" href="parser.html" title="Parser">Parser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.parser.description"></a><h6>
-<a name="id1114231"></a>
+<a name="id1150920"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.description">Description</a>
</h6>
<p>
@@ -82,7 +82,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.parser.valid_expressions"></a><h6>
-<a name="id1114494"></a>
+<a name="id1151183"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -162,7 +162,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.parser.type_expressions"></a><h6>
-<a name="id1114761"></a>
+<a name="id1151450"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.type_expressions">Type
Expressions</a>
</h6>
@@ -215,7 +215,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.parser.postcondition"></a><h6>
-<a name="id1114959"></a>
+<a name="id1151648"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.postcondition">Postcondition</a>
</h6>
<p>
@@ -249,7 +249,7 @@
</li>
</ul></div>
<a name="spirit.qi.reference.parser_concepts.parser.models"></a><h6>
-<a name="id1115086"></a>
+<a name="id1151776"></a>
<a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.primitiveparser"></a><a class="link" href="primitiveparser.html" title="PrimitiveParser">PrimitiveParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.description"></a><h6>
-<a name="id1115121"></a>
+<a name="id1151810"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.description">Description</a>
</h6>
<p>
@@ -35,7 +35,7 @@
that the client uses to build more complex parsers.
</p>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.refinement_of"></a><h6>
-<a name="id1115144"></a>
+<a name="id1151833"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.refinement_of">Refinement
of</a>
</h6>
@@ -49,7 +49,7 @@
</p>
</blockquote></div>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.pre_skip"></a><h6>
-<a name="id1115180"></a>
+<a name="id1151869"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.pre_skip">Pre-skip</a>
</h6>
<p>
@@ -63,7 +63,7 @@
<pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip_over</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">skip</span><span class="special">);</span>
</pre>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.type_expressions"></a><h6>
-<a name="id1115271"></a>
+<a name="id1151960"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.type_expressions">Type
Expressions</a>
</h6>
@@ -102,7 +102,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.primitiveparser.models"></a><h6>
-<a name="id1115408"></a>
+<a name="id1152097"></a>
<a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.parser_concepts.unaryparser"></a><a class="link" href="unaryparser.html" title="UnaryParser">UnaryParser</a>
</h5></div></div></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.description"></a><h6>
-<a name="id1115449"></a>
+<a name="id1152138"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
the Delegate Design Pattern.
</p>
<a name="spirit.qi.reference.parser_concepts.unaryparser.refinement_of"></a><h6>
-<a name="id1115474"></a>
+<a name="id1152163"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.refinement_of">Refinement
of</a>
</h6>
@@ -63,7 +63,7 @@
</dl>
</div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.valid_expressions"></a><h6>
-<a name="id1115553"></a>
+<a name="id1152242"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.valid_expressions">Valid
Expressions</a>
</h6>
@@ -113,7 +113,7 @@
</tr></tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.type_expressions"></a><h6>
-<a name="id1115667"></a>
+<a name="id1152356"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.type_expressions">Type
Expressions</a>
</h6>
@@ -166,7 +166,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.invariants"></a><h6>
-<a name="id1115835"></a>
+<a name="id1152524"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.invariants">Invariants</a>
</h6>
<p>
@@ -177,7 +177,7 @@
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special"><</span><span class="identifier">P</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">>::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
</li></ul></div>
<a name="spirit.qi.reference.parser_concepts.unaryparser.models"></a><h6>
-<a name="id1115994"></a>
+<a name="id1152683"></a>
<a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.models">Models</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -35,7 +35,7 @@
the literal and string parsers and the symbol table.
</p>
<a name="spirit.qi.reference.string.module_header"></a><h6>
-<a name="id1122229"></a>
+<a name="id1159055"></a>
<a class="link" href="string.html#spirit.qi.reference.string.module_header">Module Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/string.hpp>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string/lit_string.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -39,7 +39,7 @@
</li>
</ul></div>
<a name="spirit.qi.reference.string.lit_string.description"></a><h6>
-<a name="id1122392"></a>
+<a name="id1159218"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.description">Description</a>
</h6>
<p>
@@ -48,7 +48,7 @@
parser is not applied in between characters of the string.
</p>
<a name="spirit.qi.reference.string.lit_string.header"></a><h6>
-<a name="id1122416"></a>
+<a name="id1159242"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/string/lit.hpp>
@@ -58,7 +58,7 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.string.lit_string.model_of"></a><h6>
-<a name="id1122491"></a>
+<a name="id1159316"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.model_of">Model
of</a>
</h6>
@@ -93,7 +93,7 @@
</dl>
</div>
<a name="spirit.qi.reference.string.lit_string.expression_semantics"></a><h6>
-<a name="id1122626"></a>
+<a name="id1159452"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.expression_semantics">Expression
Semantics</a>
</h6>
@@ -203,7 +203,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.lit_string.attributes"></a><h6>
-<a name="id1122977"></a>
+<a name="id1159802"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.attributes">Attributes</a>
</h6>
<div class="informaltable"><table class="table">
@@ -307,7 +307,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.lit_string.complexity"></a><h6>
-<a name="id1123403"></a>
+<a name="id1160228"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.complexity">Complexity</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -324,7 +324,7 @@
of characters in the string to be parsed.
</p>
<a name="spirit.qi.reference.string.lit_string.example"></a><h6>
-<a name="id1123438"></a>
+<a name="id1160263"></a>
<a class="link" href="lit_string.html#spirit.qi.reference.string.lit_string.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.reference.string.symbols"></a><a class="link" href="symbols.html" title="symbols">symbols</a>
</h5></div></div></div>
<a name="spirit.qi.reference.string.symbols.description"></a><h6>
-<a name="id1125710"></a>
+<a name="id1163235"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.description">Description</a>
</h6>
<p>
@@ -47,7 +47,7 @@
its behavior.
</p>
<a name="spirit.qi.reference.string.symbols.header"></a><h6>
-<a name="id1125745"></a>
+<a name="id1163270"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.header">Header</a>
</h6>
<pre class="programlisting"><span class="comment">// forwards to <boost/spirit/home/qi/string/symbols.hpp>
@@ -57,14 +57,14 @@
Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
</p>
<a name="spirit.qi.reference.string.symbols.synopsis"></a><h6>
-<a name="id1125819"></a>
+<a name="id1163344"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Char</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
<span class="keyword">struct</span> <span class="identifier">symbols</span><span class="special">;</span>
</pre>
<a name="spirit.qi.reference.string.symbols.template_parameters"></a><h6>
-<a name="id1125884"></a>
+<a name="id1163409"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.template_parameters">Template
parameters</a>
</h6>
@@ -129,7 +129,7 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.symbols.model_of"></a><h6>
-<a name="id1126011"></a>
+<a name="id1163536"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.model_of">Model of</a>
</h6>
<div class="blockquote"><blockquote class="blockquote">
@@ -191,7 +191,7 @@
</dl>
</div>
<a name="spirit.qi.reference.string.symbols.expression_semantics"></a><h6>
-<a name="id1126313"></a>
+<a name="id1163839"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.expression_semantics">Expression
Semantics</a>
</h6>
@@ -425,14 +425,14 @@
</tbody>
</table></div>
<a name="spirit.qi.reference.string.symbols.attributes"></a><h6>
-<a name="id1127924"></a>
+<a name="id1165996"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.attributes">Attributes</a>
</h6>
<p>
The attribute of <code class="computeroutput"><span class="identifier">symbol</span><span class="special"><</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span></code> is <code class="computeroutput"><span class="identifier">T</span></code>.
</p>
<a name="spirit.qi.reference.string.symbols.example"></a><h6>
-<a name="id1127975"></a>
+<a name="id1166046"></a>
<a class="link" href="symbols.html#spirit.qi.reference.string.symbols.example">Example</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -179,7 +179,7 @@
has a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> attribute.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.lexeme"></a><h6>
-<a name="id1091267"></a>
+<a name="id1128087"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.lexeme">Lexeme</a>
</h6>
<pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">>></span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">>></span> <span class="char">'"'</span><span class="special">];</span>
@@ -196,7 +196,7 @@
a double quote.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.difference"></a><h6>
-<a name="id1091380"></a>
+<a name="id1128199"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.difference">Difference</a>
</h6>
<p>
@@ -215,7 +215,7 @@
is just <code class="computeroutput"><span class="keyword">char</span></code>.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.plus"></a><h6>
-<a name="id1091488"></a>
+<a name="id1128307"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.plus">Plus</a>
</h6>
<pre class="programlisting"><span class="special">+</span><span class="identifier">a</span>
@@ -234,7 +234,7 @@
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span>
</pre>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute"></a><h6>
-<a name="id1091614"></a>
+<a name="id1128433"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute">Sequence
Attribute</a>
</h6>
@@ -275,7 +275,7 @@
</p></td></tr>
</table></div>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing"></a><h6>
-<a name="id1091836"></a>
+<a name="id1128655"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing">Attribute
Collapsing</a>
</h6>
@@ -307,7 +307,7 @@
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span>
</pre>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.auto_rules"></a><h6>
-<a name="id1092075"></a>
+<a name="id1128894"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.auto_rules">Auto
Rules</a>
</h6>
@@ -345,7 +345,7 @@
directly into the rule's attribute, in-situ.
</p>
<a name="spirit.qi.tutorials.employee___parsing_into_structs.finally"></a><h6>
-<a name="id1092394"></a>
+<a name="id1129213"></a>
<a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.finally">Finally</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -69,7 +69,7 @@
for testing purposes. "4.toyxml" has an error in it.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.first_cut"></a><h6>
-<a name="id1093046"></a>
+<a name="id1129866"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.first_cut">First Cut</a>
</h6>
<p>
@@ -145,7 +145,7 @@
by the placeholder <code class="computeroutput"><span class="identifier">_val</span></code>).
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.alternates"></a><h6>
-<a name="id1094227"></a>
+<a name="id1131047"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.alternates">Alternates</a>
</h6>
<pre class="programlisting"><span class="identifier">rule</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml_node</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">></span> <span class="identifier">node</span><span class="special">;</span>
@@ -175,7 +175,7 @@
<span class="special">;</span>
</pre>
<a name="spirit.qi.tutorials.mini_xml___asts_.not_predicate"></a><h6>
-<a name="id1094555"></a>
+<a name="id1131374"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.not_predicate">Not
Predicate</a>
</h6>
@@ -202,7 +202,7 @@
at this point.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.inherited_attribute"></a><h6>
-<a name="id1094710"></a>
+<a name="id1131529"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.inherited_attribute">Inherited
Attribute</a>
</h6>
@@ -228,7 +228,7 @@
<code class="computeroutput"><span class="identifier">_r3</span></code>, etc. if you have more).
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit"></a><h6>
-<a name="id1096551"></a>
+<a name="id1133917"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit">A Lazy
Lit</a>
</h6>
@@ -262,7 +262,7 @@
accessors, provided by Phoenix.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.how_it_all_works"></a><h6>
-<a name="id1096882"></a>
+<a name="id1134248"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.how_it_all_works">How
it all works</a>
</h6>
@@ -309,7 +309,7 @@
as <code class="computeroutput"><span class="identifier">_r1</span></code>.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.the_structures"></a><h6>
-<a name="id1097179"></a>
+<a name="id1134544"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.the_structures">The
Structures</a>
</h6>
@@ -342,7 +342,7 @@
<p>
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants"></a><h6>
-<a name="id1097374"></a>
+<a name="id1134740"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants">Of
Alternates and Variants</a>
</h6>
@@ -369,7 +369,7 @@
of <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">B</span></code> is the attribute of <code class="computeroutput"><span class="identifier">b</span></code>.
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again"></a><h6>
-<a name="id1097554"></a>
+<a name="id1134920"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again">Adapting
structs again</a>
</h6>
@@ -395,7 +395,7 @@
<p>
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.one_more_take"></a><h6>
-<a name="id1097695"></a>
+<a name="id1135060"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.one_more_take">One
More Take</a>
</h6>
@@ -464,7 +464,7 @@
in the <code class="computeroutput"><span class="identifier">xml</span></code> rule:
</p>
<a name="spirit.qi.tutorials.mini_xml___asts_.local_variables"></a><h6>
-<a name="id1098610"></a>
+<a name="id1135976"></a>
<a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.local_variables">Local
Variables</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -44,7 +44,7 @@
What's new?
</p>
<a name="spirit.qi.tutorials.mini_xml___error_handling.readable_names"></a><h6>
-<a name="id1099604"></a>
+<a name="id1136288"></a>
<a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.readable_names">Readable
Names</a>
</h6>
@@ -63,7 +63,7 @@
<span class="identifier">end_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"end_tag"</span><span class="special">);</span>
</pre>
<a name="spirit.qi.tutorials.mini_xml___error_handling.on_error"></a><h6>
-<a name="id1099784"></a>
+<a name="id1136468"></a>
<a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.on_error">On
Error</a>
</h6>
@@ -241,7 +241,7 @@
</tbody>
</table></div>
<a name="spirit.qi.tutorials.mini_xml___error_handling.expectation_points"></a><h6>
-<a name="id1100293"></a>
+<a name="id1136976"></a>
<a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.expectation_points">Expectation
Points</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.qi.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
</h4></div></div></div>
<a name="spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_"></a><h6>
-<a name="id1077057"></a>
+<a name="id1114535"></a>
<a class="link" href="quick_start.html#spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_">Why
would you want to use Spirit.Qi?</a>
</h6>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -41,7 +41,7 @@
</li>
</ul></div>
<a name="spirit.qi.tutorials.roman_numerals.symbol_table"></a><h6>
-<a name="id1085154"></a>
+<a name="id1122388"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.symbol_table">Symbol
Table</a>
</h6>
@@ -173,7 +173,7 @@
They are all parsers.
</p>
<a name="spirit.qi.tutorials.roman_numerals.rules"></a><h6>
-<a name="id1087227"></a>
+<a name="id1123995"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.rules">Rules</a>
</h6>
<p>
@@ -253,7 +253,7 @@
<pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">double_</span> <span class="special">>></span> <span class="special">*(</span><span class="char">','</span> <span class="special">>></span> <span class="identifier">double_</span><span class="special">);</span>
</pre>
<a name="spirit.qi.tutorials.roman_numerals.grammars"></a><h6>
-<a name="id1087619"></a>
+<a name="id1124388"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.grammars">Grammars</a>
</h6>
<p>
@@ -358,7 +358,7 @@
</li>
</ul></div>
<a name="spirit.qi.tutorials.roman_numerals.let_s_parse_"></a><h6>
-<a name="id1088347"></a>
+<a name="id1125115"></a>
<a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.let_s_parse_">Let's Parse!</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -233,7 +233,7 @@
The examples above can be found here: ../../example/qi/actions.cpp
</p>
<a name="spirit.qi.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id1079726"></a>
+<a name="id1116999"></a>
<a class="link" href="semantic_actions.html#spirit.qi.tutorials.semantic_actions.phoenix">Phoenix</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -31,7 +31,7 @@
on how to build parsers from the simplest parser, building up as we go.
</p>
<a name="spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number"></a><h6>
-<a name="id1077102"></a>
+<a name="id1114581"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number">Trivial
Example #1 Parsing a number</a>
</h6>
@@ -46,7 +46,7 @@
parsers and consistent naming conventions help you keep from going insane!
</p>
<a name="spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers"></a><h6>
-<a name="id1077131"></a>
+<a name="id1114610"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers">Trivial
Example #2 Parsing two numbers</a>
</h6>
@@ -79,7 +79,7 @@
</p></td></tr>
</table></div>
<a name="spirit.qi.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers"></a><h6>
-<a name="id1077671"></a>
+<a name="id1114945"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__3_parsing_one_or_more_numbers">Trivial
Example #3 Parsing one or more numbers</a>
</h6>
@@ -103,7 +103,7 @@
in most places.
</p>
<a name="spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id1077716"></a>
+<a name="id1114989"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers">Trivial
Example #4 Parsing a comma-delimited list of numbers</a>
</h6>
@@ -126,7 +126,7 @@
star encloses the complete expression above.
</p>
<a name="spirit.qi.tutorials.warming_up.let_s_parse_"></a><h6>
-<a name="id1077846"></a>
+<a name="id1115120"></a>
<a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.let_s_parse_">Let's Parse!</a>
</h6>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/support/multi_pass.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/support/multi_pass.html (original)
+++ trunk/libs/spirit/doc/html/spirit/support/multi_pass.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -61,7 +61,7 @@
iterator was created.
</p>
<a name="spirit.support.multi_pass.using_the_multi_pass"></a><h5>
-<a name="id1209498"></a>
+<a name="id1258755"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_multi_pass">Using the
multi_pass</a>
</h5>
@@ -209,7 +209,7 @@
<p>
</p>
<a name="spirit.support.multi_pass.using_the_flush_multi_pass_parser"></a><h5>
-<a name="id1211953"></a>
+<a name="id1260118"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_flush_multi_pass_parser">Using
the flush_multi_pass parser</a>
</h5>
@@ -231,7 +231,7 @@
thrown.
</p>
<a name="spirit.support.multi_pass.the_multi_pass_policies"></a><h5>
-<a name="id1212046"></a>
+<a name="id1260211"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.the_multi_pass_policies">The multi_pass
Policies</a>
</h5>
@@ -272,7 +272,7 @@
the functionality groups:
</p>
<div class="table">
-<a name="id1212152"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
+<a name="id1260317"></a><p class="title"><b>Table 13. Policies needed for default_policy template</b></p>
<div class="table-contents"><table class="table" summary="Policies needed for default_policy template">
<colgroup>
<col>
@@ -355,7 +355,7 @@
implementations.
</p>
<a name="spirit.support.multi_pass.predefined_policies"></a><h5>
-<a name="id1212344"></a>
+<a name="id1260509"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.predefined_policies">Predefined
policies</a>
</h5>
@@ -364,7 +364,7 @@
policies are defined in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">iterator_policies</span></code>.
</p>
<div class="table">
-<a name="id1212386"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
+<a name="id1260551"></a><p class="title"><b>Table 14. Predefined policy classes</b></p>
<div class="table-contents"><table class="table" summary="Predefined policy classes">
<colgroup>
<col>
@@ -601,7 +601,7 @@
</table></div>
</div>
<br class="table-break"><a name="spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass"></a><h5>
-<a name="id1213051"></a>
+<a name="id1261216"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass">Combinations:
How to specify your own custom multi_pass</a>
</h5>
@@ -647,7 +647,7 @@
behaviors while wrapping an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream_iterator</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span></code>.
</p>
<a name="spirit.support.multi_pass.dealing_with_constant_look_ahead"></a><h5>
-<a name="id1214174"></a>
+<a name="id1261638"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.dealing_with_constant_look_ahead">Dealing
with constant look ahead</a>
</h5>
@@ -666,7 +666,7 @@
StoragePolicy.
</p>
<a name="spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy"></a><h5>
-<a name="id1214306"></a>
+<a name="id1261770"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy">How
to write a functor for use with the <code class="computeroutput"><span class="identifier">functor_input</span></code>
InputPolicy</a>
@@ -725,7 +725,7 @@
<span class="special">}</span>
</pre>
<a name="spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass"></a><h5>
-<a name="id1214892"></a>
+<a name="id1264108"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass">How
to write policies for use with multi_pass</a>
</h5>
@@ -742,7 +742,7 @@
copies of a particular <code class="computeroutput"><span class="identifier">multi_pass</span></code>.
</p>
<a name="spirit.support.multi_pass.inputpolicy"></a><h5>
-<a name="id1214967"></a>
+<a name="id1264183"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.inputpolicy">InputPolicy</a>
</h5>
<p>
@@ -838,7 +838,7 @@
constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
</p>
<a name="spirit.support.multi_pass.ownershippolicy"></a><h5>
-<a name="id1215846"></a>
+<a name="id1265062"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.ownershippolicy">OwnershipPolicy</a>
</h5>
<p>
@@ -905,7 +905,7 @@
constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
</p>
<a name="spirit.support.multi_pass.checkingpolicy"></a><h5>
-<a name="id1218156"></a>
+<a name="id1265596"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.checkingpolicy">CheckingPolicy</a>
</h5>
<p>
@@ -964,7 +964,7 @@
constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
</p>
<a name="spirit.support.multi_pass.storagepolicy"></a><h5>
-<a name="id1218607"></a>
+<a name="id1266594"></a>
<a class="link" href="multi_pass.html#spirit.support.multi_pass.storagepolicy">StoragePolicy</a>
</h5>
<p>
Modified: trunk/libs/spirit/doc/html/spirit/what_s_new.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new.html 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -27,7 +27,7 @@
<a name="spirit.what_s_new"></a><a class="link" href="what_s_new.html" title="What's New">What's New</a>
</h2></div></div></div>
<a name="spirit.what_s_new.spirit_classic"></a><h4>
-<a name="id1068057"></a>
+<a name="id1104736"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.spirit_classic">Spirit Classic</a>
</h4>
<p>
@@ -66,14 +66,14 @@
for existing applications.
</p>
<a name="spirit.what_s_new.spirit_v2_1"></a><h4>
-<a name="id1068248"></a>
+<a name="id1104927"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.spirit_v2_1">Spirit V2.1</a>
</h4>
-<a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0_to_2_x"></a><h4>
-<a name="id1068261"></a>
- <a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0_to_2_x">What's
+<a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0__boost_v1_37_0__to_2_x__boost_v1_41_0_"></a><h4>
+<a name="id1104940"></a>
+ <a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0__boost_v1_37_0__to_2_x__boost_v1_41_0_">What's
changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
- from V2.0 to 2.x</a>
+ from V2.0 (Boost V1.37.0) to 2.x (Boost V1.41.0)</a>
</h4>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
@@ -159,7 +159,7 @@
</li>
</ul></div>
<a name="spirit.what_s_new.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0_to_2_x"></a><h4>
-<a name="id1068813"></a>
+<a name="id1105492"></a>
<a class="link" href="what_s_new.html#spirit.what_s_new.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0_to_2_x">What's
changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.0 to 2.x</a>
</h4>
Modified: trunk/libs/spirit/doc/karma.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma.qbk (original)
+++ trunk/libs/spirit/doc/karma.qbk 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -25,7 +25,7 @@
[include karma/basics.qbk]
[/include karma/char.qbk]
[/include karma/string.qbk]
-[/include karma/numeric.qbk]
+[include karma/numeric.qbk]
[/include karma/binary.qbk]
[include karma/directive.qbk]
[/include karma/action.qbk]
Modified: trunk/libs/spirit/doc/karma/numeric.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/numeric.qbk (original)
+++ trunk/libs/spirit/doc/karma/numeric.qbk 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -6,8 +6,447 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
-[section Numeric]
+[section:numeric Numeric]
+This module includes different numeric generators allowing to format arbitrary
+integer and floating point types. It includes the signed integer, unsigned
+integer, and floating point number generators.
+[heading Module Header]
+
+ // forwards to <boost/spirit/home/karma/numeric.hpp>
+ #include <boost/spirit/include/karma_numeric.hpp>
+
+[/////////////////////////////////////////////////////////////////////////////]
+[section:signed_int Signed Integer Number Generators]
+
+[heading Description]
+
+The signed integer number generators described in this section are:
+
+[table
+ [[Expression] [Attribute] [Description]]
+ [[`lit(num)`] [`Unused`] [Generates `num`, where `num` can be a `short`,
+ `int`, `long`, or `long long`]]
+ [[`short_`] [`short`] [Generate a short integer]]
+ [[`short_(num)`] [`short`] [Generate `num` as a short integer,
+ if an attribute is supplied it must match]]
+ [[`int_`] [`int`] [Generate an int]]
+ [[`int_(num)`] [`int`] [Generate `num` as an int,
+ if an attribute is supplied it must match]]
+ [[`long_`] [`long`] [Generate a long integer]]
+ [[`long_(num)`] [`long`] [Generate `num` as long integer,
+ if an attribute is supplied it must match]]
+ [[`long_long`] [`long long`] [Generate a long long]]
+ [[`long_long(num)`] [`long long`] [Generate `num` as an long long,
+ if an attribute is supplied it must match]]
+ [
+[``int_generator<
+ Num, Radix, force_sign
+>()``]
+ [`Num`] [Generate a `Num`]]
+ [
+[``int_generator<
+ Num, Radix, force_sign
+>()(num)``]
+ [`Num`] [Generate `num` as a `Num`,
+ if an attribute is supplied it must match]]
+]
+
+These can be used to flexibly format any integer number of any compatible type
+(for more information about the requirements, see
+[link spirit.karma.reference.numeric.signed_int.additional_requirements below]).
+
+The interger number generators are very fast. For measurement results comapring
+the __karma__ integer number generators with equivalent constructs provided by
+other libraries see the section
+[link spirit.karma.performance_measurements.numeric_performance.int_performance Performance of Numeric Generators]
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/numeric/int.hpp>
+ #include <boost/spirit/include/karma_int.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__primitive_generator_concept__]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is
+not defined in __primitive_generator_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`lit(num)`] [Generate the integer literal `num` using the default
+ formatting (radix is 10, sign is only printed for
+ negative literals). This generator never fails (except
+ if the underlying output stream reports an error).]]
+ [
+[``short_
+int_
+long_
+long_long``] [Generate the integer provided by a mandatory attribute
+ using the default formatting (radix is 10, sign is
+ only printed for negative literals). This generator
+ never fails (except if the underlying output stream
+ reports an error).]]
+ [
+[``short_(num)
+int_(num)
+long_(num)
+long_long(num)``] [Generate the integer provided by the immediate literal
+ value the generator is initialized from using the
+ default formatting (radix is 10, sign is only printed
+ for negative literals). 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.]]
+ [
+[``int_generator<
+ Num, Radix, force_sign
+>()``]
+ [Generate the integer of type `Num` provided by a
+ mandatory attribute using the specified `Radix`
+ (possible values are `2`, `8`, `10`, and `16`, the
+ default value is `10`). If `force_sign` is `false`
+ (the default), a sign is only printed for negative
+ literals. If `force_sign` is `true`, all numbers will
+ be printed using a sign, i.e. `'-'` for negative
+ numbers, `'+'` for positive numbers, and `' '` for
+ zeros. This generator never fails (except if the
+ underlying output stream reports an error).]]
+ [
+[``int_generator<
+ Num, Radix, force_sign
+>()(num)``]
+ [Generate the integer of type `Num` provided by the
+ immediate literal value the generator is initialized
+ from, using the specified `Radix` (possible values are
+ `2`, `8`, `10`, and `16`, the default value is `10`).
+ If `force_sign` is `false` (the default), a sign is
+ only printed for negative literals. If `force_sign` is
+ `true`, all numbers will be printed using a sign, i.e.
+ `'-'` for negative numbers, `'+'` for positive numbers,
+ and `' '` for zeros. 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.]]
+]
+
+[heading Additional Requirements]
+
+The following lists enumerate the requirements which must be met in order to
+use a certain type `Num` to instantiate and use a
+`int_generator<Num, Radix, force_sign>`.
+
+If `boost::is_integral<Num>::value` is `true` the type `Num` must have defined:
+
+* comparison operators for: `<`, `<=`, `==`, `!=`, `>`, and `>=`
+* numeric operators for: `+`, `-`, `/`, `*`, `%`, and unary `-`
+
+If `boost::is_integral<Num>::value` is `false` the type `Num` must have defined:
+
+* comparison operators for: `<`, `<=`, `==`, `!=`, `>`, and `>=`
+* numeric operators for: `+`, `-`, `/`, `*`, `%`, and unary `-`
+* helper functions implementing the interface and the semantics of: `std::fmod`,
+ `std::fabs`, `std::pow`, `std::lround`, `std::ltrunc`, `std::floor`, and
+ `std::ceil`.
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[`lit(num)`] [__unused__]]
+ [[`short_`] [`short`, attribute is mandatory (otherwise compilation
+ will fail)]]
+ [[`short_(num)`] [`short`, attribute is optional, if it is supplied, the
+ generator compares the attribute with `num` and
+ succeeds only if both are equal, failing otherwise.]]
+
+ [[`int_`] [`int`, attribute is mandatory (otherwise compilation
+ will fail)]]
+ [[`int_(num)`] [`int`, attribute is optional, if it is supplied, the
+ generator compares the attribute with `num` and
+ succeeds only if both are equal, failing otherwise.]]
+
+ [[`long_`] [`long`, attribute is mandatory (otherwise compilation
+ will fail)]]
+ [[`long_(num)`] [`long`, attribute is optional, if it is supplied, the
+ generator compares the attribute with `num` and
+ succeeds only if both are equal, failing otherwise.]]
+
+ [[`long_long`] [`long long`, attribute is mandatory (otherwise compilation
+ will fail)]]
+ [[`long_long(num)`] [`long long`, attribute is optional, if it is supplied, the
+ generator compares the attribute with `num` and
+ succeeds only if both are equal, failing otherwise.]]
+
+ [
+[``int_generator<
+ Num, Radix, force_sign
+>()``] [`Num`, attribute is mandatory (otherwise compilation
+ will fail)]]
+ [
+[``int_generator<
+ Num, Radix, force_sign
+>()(num)``] [`Num`, attribute is optional, if it is supplied, the
+ generator compares the attribute with `num` and
+ succeeds only if both are equal, failing otherwise.]]
+]
+
+[heading Complexity]
+
+[:O(N), where `N` is the number of digits needed to represent the generated
+ integer number]
+
+[heading Example]
+
+Some includes:
+
+[reference_karma_includes]
+
+All code snippets below use these common test functions:
+
+[reference_karma_test]
+[reference_karma_test_attr]
+
+Some using declarations:
+
+[reference_karma_using_declarations_int]
+
+Basic usage of an `int_` generator:
+
+[reference_karma_int]
+
+[endsect]
+
+[/////////////////////////////////////////////////////////////////////////////]
+[section:unsigned_int Unsigned Integer Number Generators]
+
+[heading Description]
+The signed integer number generators described in this section are:
+
+[table
+ [[Expression] [Attribute] [Description]]
+ [[`lit(num)`] [`Unused`] [Generates `num`, where `num` can be a `unsigned short`,
+ `unsigned int`, `unsigned long`, or `unsigned long long`]]
+ [[`ushort`] [`unsigned short`] [Generate a short integer]]
+ [[`ushort(num)`] [`unsigned short`] [Generate `num` as a short integer,
+ if an attribute is supplied it must match]]
+ [[`uint`] [`unsigned int`] [Generate an int]]
+ [[`uint(num)`] [`unsigned int`] [Generate `num` as an int,
+ if an attribute is supplied it must match]]
+ [[`ulong`] [`unsigned long`] [Generate a long integer]]
+ [[`ulong(num)`] [`unsigned long`] [Generate `num` as long integer,
+ if an attribute is supplied it must match]]
+ [[`ulong_long`] [`unsigned long long`] [Generate a long long]]
+ [[`ulong_long(num)`] [`unsigned long long`] [Generate `num` as an long long,
+ if an attribute is supplied it must match]]
+ [
+[``uint_generator<
+ Num, Radix
+>()``]
+ [`Num`] [Generate a `Num`]]
+ [
+[``uint_generator<
+ Num, Radix
+>()(num)``]
+ [`Num`] [Generate `num` as a `Num`,
+ if an attribute is supplied it must match]]
+]
+
+These can be used to flexibly format any unsigned integer number of any
+compatible type (for more information about the requirements, see
+[link spirit.karma.reference.numeric.unsigned_int.additional_requirements below]).
+
+The interger number generators are very fast. For measurement results comapring
+the __karma__ integer number generators with equivalent constructs provided by
+other libraries see the section
+[link spirit.karma.performance_measurements.numeric_performance.int_performance Performance of Numeric Generators]
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/numeric/uint.hpp>
+ #include <boost/spirit/include/karma_uint.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__primitive_generator_concept__]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is
+not defined in __primitive_generator_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`lit(num)`] [Generate the integer literal `num` using the default
+ formatting (radix is 10, sign is only printed for
+ negative literals). This generator never fails (except
+ if the underlying output stream reports an error).]]
+ [
+[``ushort
+uint
+ulong
+ulong_long``] [Generate the unsigned integer provided by a mandatory
+ attribute using the default formatting (radix is 10).
+ This generator never fails (except if the underlying
+ output stream reports an error).]]
+ [
+[``ushort(num)
+uint(num)
+ulong(num)
+ulong_long(num)``] [Generate the unsigned integer provided by the
+ immediate literal value the generator is initialized
+ from using the default formatting (radix is 10). 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.]]
+ [
+[``uint_generator<
+ Num, Radix
+>()``]
+ [Generate the unsigned integer of type `Num` provided
+ by a mandatory attribute using the specified `Radix`
+ (possible values are `2`, `8`, `10`, and `16`, the
+ default value is `10`).This generator never fails
+ (except if the underlying output stream reports an
+ error).]]
+ [
+[``uint_generator<
+ Num, Radix
+>()(num)``]
+ [Generate the unsigned integer of type `Num` provided
+ by the immediate literal value the generator is
+ initialized from, using the specified `Radix`
+ (possible values are `2`, `8`, `10`, and `16`, the
+ default value is `10`). 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.]]
+]
+
+[heading Additional Requirements]
+
+The following lists enumerate the requirements which must be met in order to
+use a certain type `Num` to instantiate and use a
+`uint_generator<Num, Radix>`.
+
+If `boost::is_integral<Num>::value` is `true` the type `Num` must have defined:
+
+* comparison operators for: `<`, `<=`, `==`, `!=`, `>`, and `>=`
+* numeric operators for: `+`, `-`, `/`, `*`, and `%`
+
+If `boost::is_integral<Num>::value` is `false` the type `Num` must have defined:
+
+* comparison operators for: `<`, `<=`, `==`, `!=`, `>`, and `>=`
+* numeric operators for: `+`, `-`, `/`, `*`, and `%`
+* helper functions implementing the interface and the semantics of: `std::fmod`,
+ `std::pow`, `std::lround`, `std::ltrunc`, `std::floor`, and `std::ceil`.
+
+[heading Attributes]
+
+[table
+ [[Expression] [Attribute]]
+ [[`lit(num)`] [__unused__]]
+ [[`ushort`] [`unsigned short`, attribute is mandatory (otherwise
+ compilation will fail)]]
+ [[`ushort(num)`] [`unsigned short`, attribute is optional, if it is
+ supplied, the generator compares the attribute with
+ `num` and succeeds only if both are equal, failing
+ otherwise.]]
+
+ [[`uint`] [`unsigned int`, attribute is mandatory (otherwise
+ compilation will fail)]]
+ [[`uint(num)`] [`unsigned int`, attribute is optional, if it is
+ supplied, the generator compares the attribute with
+ `num` and succeeds only if both are equal, failing
+ otherwise.]]
+
+ [[`ulong`] [`unsigned long`, attribute is mandatory (otherwise
+ compilation will fail)]]
+ [[`ulong(num)`] [`unsigned long`, attribute is optional, if it is
+ supplied, the generator compares the attribute with
+ `num` and succeeds only if both are equal, failing
+ otherwise.]]
+
+ [[`ulong_long`] [`unsigned long long`, attribute is mandatory
+ (otherwise compilation will fail)]]
+ [[`ulong_long(num)`][`unsigned long long`, attribute is optional, if it is
+ supplied, the generator compares the attribute with
+ `num` and succeeds only if both are equal, failing
+ otherwise.]]
+
+ [
+[``uint_generator<
+ Num, Radix
+>()``] [`Num`, attribute is mandatory (otherwise compilation
+ will fail)]]
+ [
+[``uint_generator<
+ Num, Radix
+>()(num)``] [`Num`, attribute is optional, if it is supplied, the
+ generator compares the attribute with `num` and
+ succeeds only if both are equal, failing otherwise.]]
+]
+
+[heading Complexity]
+
+[:O(N), where `N` is the number of digits needed to represent the generated
+ integer number]
+
+[heading Example]
+
+Some includes:
+
+[reference_karma_includes]
+
+All code snippets below use these common test functions:
+
+[reference_karma_test]
+[reference_karma_test_attr]
+
+Some using declarations:
+
+[reference_karma_using_declarations_uint]
+
+Basic usage of an `uint` generator:
+
+[reference_karma_uint]
+
+[endsect]
+
+[/////////////////////////////////////////////////////////////////////////////]
+[section:floating_point Floating Point Number Generators]
+
+[heading Description]
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/karma/numeric/real.hpp>
+ #include <boost/spirit/include/karma_real.hpp>
+
+Also, see __include_structure__.
+
+[heading Model of]
+
+[:__primitive_generator_concept__]
+
+[heading Expression Semantics]
+
+[endsect]
[endsect]
Modified: trunk/libs/spirit/doc/karma/operator.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/operator.qbk (original)
+++ trunk/libs/spirit/doc/karma/operator.qbk 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -685,7 +685,12 @@
[table
[[Expression] [Attribute]]
- [[and predicate (unary `&`)] [`a: A --> &a: Unused`]]
+ [[and predicate (unary `&`)] [`a: A --> &a: A`]]
+]
+
+[note The attribute of the and predicate is not always `Unused`, which is
+ different from Qi's and predicate. This is necessary as the generator the
+ and predicate is attached to most of the time needs an attribute.
]
[heading Complexity]
@@ -756,7 +761,12 @@
[table
[[Expression] [Attribute]]
- [[not predicate (unary `!`)] [`a: A --> !a: Unused`]]
+ [[not predicate (unary `!`)] [`a: A --> !a: A`]]
+]
+
+[note The attribute of the and predicate is not always `Unused`, which is
+ different from Qi's and predicate. This is necessary as the generator the
+ and predicate is attached to most of the time needs an attribute.
]
[heading Complexity]
Modified: trunk/libs/spirit/doc/karma/quick_reference.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/quick_reference.qbk (original)
+++ trunk/libs/spirit/doc/karma/quick_reference.qbk 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -37,6 +37,8 @@
[[`chset`] [Character-set specifier string (example: "a-z0-9")]]
[[`str`] [Character-class specific string (See __char_class_types__)]]
[[`Str`] [Attribute of `str`: `std::basic_string<T>` where `T` is the underlying character type of `str`]]
+ [[`num`] [Numeric literal, any integer or floating point type]]
+ [[`Num`] [Attribute of `num`: any integer or floating point type]]
[[`tuple<>`] [Used as a placeholder for a fusion sequence]]
[[`vector<>`] [Used as a placeholder for an STL container]]
[[`variant<>`] [Used as a placeholder for a boost::variant]]
@@ -71,14 +73,18 @@
[[`big_qword`] [64 bits big endian] [Generates a 64 bit binary in big endian representation]]
[[`little_qword`] [64 bits little endian] [Generates a 64 bit binary in little endian representation]]
- [[`char_(ch)`] [`Ch`] [Generates `ch`]]
- [[`char_("c")`] [`Ch`] [Generates a single char string literal, `c`]]
-
[[`ch`] [`Unused`] [Generates `ch`]]
[[`str`] [`Unused`] [Generates `str`]]
[[`lit(ch)`] [`Unused`] [Generates `ch`]]
[[`lit(str)`] [`Unused`] [Generates `str`]]
- [[`string(str)`] [`Str`] [Generates `str`]]
+ [[`lit(num)`] [`Unused`] [Generates `num`]]
+
+ [[`char_(ch)`] [`Ch`] [Generates `ch`,
+ if an attribute is supplied it must match]]
+ [[`char_("c")`] [`Ch`] [Generates a single char string literal, `c`,
+ if an attribute is supplied it must match]]
+ [[`string(str)`] [`Str`] [Generates `str`,
+ if an attribute is supplied it must match]]
[[`lower[a]`] [`A`] [Generate `a` as lower case]]
[[`upper[a]`] [`A`] [Generate `a` as upper case]]
@@ -120,32 +126,69 @@
[[__karma_buffer__] [`A`] [Temporarily intercepts the output generated by `a`,
flushing it only after `a` succeeded.]]
- [[`float_`] [`float`] [Generate a floating point number from a `float`]]
- [[`double_`] [`double`] [Generate a floating point number from a `double`]]
- [[`long_double`] [`long double`] [Generate a floating point number from a `long double`]]
+ [[[floating_point `float_`]] [`float`] [Generate a floating point number from a `float`]]
+ [[[floating_point `float_(num)`]] [`float`] [Generate `num` as a floating point number from a `float`,
+ if an attribute is supplied it must match]]
+ [[[floating_point `double_`]] [`double`] [Generate a floating point number from a `double`]]
+ [[[floating_point `double_(num)`]] [`double`] [Generate a `num` as a floating point number from a `double`,
+ if an attribute is supplied it must match]]
+ [[[floating_point `long_double`]] [`long double`] [Generate a floating point number from a `long double`]]
+ [[[floating_point `long_double(num)`]] [`long double`] [Generate `num` as a floating point number from a `long double`,
+ if an attribute is supplied it must match]]
[[`bin`] [`unsigned`] [Generate a binary integer from an `unsigned`]]
[[`oct`] [`unsigned`] [Generate an octal integer from an `unsigned`]]
[[`hex`] [`unsigned`] [Generate a hexadecimal integer from an `unsigned`]]
- [[`ushort_`] [`unsigned short`] [Generate an unsigned short integer]]
- [[`ulong_`] [`unsigned long`] [Generate an unsigned long integer]]
- [[`uint_`] [`unsigned int`] [Generate an unsigned int]]
- [[`ulong_long`] [`unsigned long long`] [Generate an unsigned long long]]
- [[`short_`] [`short`] [Generate a short integer]]
- [[`long_`] [`long`] [Generate a long integer]]
- [[`int_`] [`int`] [Generate an int]]
- [[`long_long`] [`long long`] [Generate a long long]]
-
- [[`!a`] [`Unused`] [Not predicate. Ensure that `a` does not succeed
- generating but don't create any output]]
- [[`&a`] [`Unused`] [And predicate. Ensure that `a` does succeed
- generating but don't create any output]]
- [[`-a`] [`optional<A>`] [Optional. Generate `a` zero or one time]]
- [[`*a`] [`vector<A>`] [Kleene. Generate `a` zero or more times]]
- [[`+a`] [`vector<A>`] [Plus. Generate `a` one or more times]]
- [[`a | b`] [`variant<A, B>`] [Alternative. Generate `a` or `b`]]
- [[`a << b`] [`tuple<A, B>`] [Sequence. Generate `a` followed by `b`]]
- [[`a % b`] [`vector<A>`] [List. Generate `a` delimited `b` one or more times]]
+
+ [[[unsigned_int `ushort_`]] [`unsigned short`] [Generate an unsigned short integer]]
+ [[[unsigned_int `ushort_(num)`]] [`unsigned short`] [Generate `num` as an unsigned short integer,
+ if an attribute is supplied it must match]]
+ [[[unsigned_int `uint_`]] [`unsigned int`] [Generate an unsigned int]]
+ [[[unsigned_int `uint_(num)`]] [`unsigned int`] [Generate `num` as an unsigned int,
+ if an attribute is supplied it must match]]
+ [[[unsigned_int `ulong_`]] [`unsigned long`] [Generate an unsigned long integer]]
+ [[[unsigned_int `ulong_(num)`]] [`unsigned long`] [Generate `num` as an unsigned long integer,
+ if an attribute is supplied it must match]]
+ [[[unsigned_int `ulong_long`]] [`unsigned long long`] [Generate an unsigned long long]]
+ [[[unsigned_int `ulong_long(num)`]] [`unsigned long long`] [Generate `num` as an unsigned long long,
+ if an attribute is supplied it must match]]
+ [[[signed_int `short_`]] [`short`] [Generate a short integer]]
+ [[[signed_int `short_(num)`]] [`short`] [Generate `num` as a short integer,
+ if an attribute is supplied it must match]]
+ [[[signed_int `int_`]] [`int`] [Generate an int]]
+ [[[signed_int `int_(num)`]] [`int`] [Generate `num` as an int,
+ if an attribute is supplied it must match]]
+ [[[signed_int `long_`]] [`long`] [Generate a long integer]]
+ [[[signed_int `long_(num)`]] [`long`] [Generate `num` as long integer,
+ if an attribute is supplied it must match]]
+ [[[signed_int `long_long`]] [`long long`] [Generate a long long]]
+ [[[signed_int `long_long(num)`]] [`long long`] [Generate `num` as an long long,
+ if an attribute is supplied it must match]]
+
+ [[[signed_int `int_generator<Num, Radix, force_sign>()`]]
+ [`Num`] [Generate a `Num`]]
+ [[[signed_int `int_generator<Num, Radix, force_sign>()(num)`]]
+ [`Num`] [Generate a `num` as a `Num`,
+ if an attribute is supplied it must match]]
+
+ [[[link spirit.karma.reference.operator.not_predicate `!a`]]
+ [`A`] [Not predicate. Ensure that `a` does not succeed
+ generating, but don't create any output]]
+ [[[link spirit.karma.reference.operator.not_predicate `&a`]]
+ [`A`] [And predicate. Ensure that `a` does succeed
+ generating, but don't create any output]]
+ [[[link spirit.karma.reference.operator.optional `-a`]]
+ [`optional<A>`] [Optional. Generate `a` zero or one time]]
+ [[[link spirit.karma.reference.operator.kleene `*a`]]
+ [`vector<A>`] [Kleene. Generate `a` zero or more times]]
+ [[[link spirit.karma.reference.operator.plus `+a`]]
+ [`vector<A>`] [Plus. Generate `a` one or more times]]
+ [[[link spirit.karma.reference.operator.alternative `a | b`]]
+ [`variant<A, B>`] [Alternative. Generate `a` or `b`]]
+ [[[link spirit.karma.reference.operator.sequence `a << b`]]
+ [`tuple<A, B>`] [Sequence. Generate `a` followed by `b`]]
+ [[[link spirit.karma.reference.operator.list `a % b`]]
+ [`vector<A>`] [List. Generate `a` delimited `b` one or more times]]
]
[endsect]
@@ -201,8 +244,8 @@
[``a: A --> -a: optional<A>
a: Unused --> -a: Unused``]]
- [[__karma_and_predicate__] [`a: A --> &a: Unused`]]
- [[__karma_not_predicate__] [`a: A --> !a: Unused`]]
+ [[__karma_and_predicate__] [`a: A --> &a: A`]]
+ [[__karma_not_predicate__] [`a: A --> !a: A`]]
]
[endsect]
@@ -246,7 +289,6 @@
[[`r.copy()`] [Get a copy of `r`. `boost::shared_ptr` semantics.]]
[[`r.name(name)`] [Naming a rule]]
[[`r.name()`] [Getting the name of a rule]]
- [[debug(r)] [Debug rule `r`]]
[[`r = g;`] [Rule definition]]
[[`r %= g;`] [Auto-rule definition. The attribute of `g` should be
compatible with the synthesized attribute of `r`. When `g`
Modified: trunk/libs/spirit/doc/spirit2.qbk
==============================================================================
--- trunk/libs/spirit/doc/spirit2.qbk (original)
+++ trunk/libs/spirit/doc/spirit2.qbk 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -162,6 +162,10 @@
[def __karma_omit__ [link spirit.karma.reference.directive.omit `omit[a]`]]
[def __karma_buffer__ [link spirit.karma.reference.directive.buffer `buffer[a]`]]
+[template signed_int[str] [link spirit.karma.reference.numeric.signed_int [str]]]
+[template unsigned_int[str] [link spirit.karma.reference.numeric.unsigned_int [str]]]
+[template floating_point[str] [link spirit.karma.reference.numeric.floating_point [str]]]
+
[def __actions__ Semantic Actions] [/$$$ TODO: link me $$$]
[def __context__ Context] [/$$$ TODO: link me $$$]
[def __compatible__ Compatible] [/$$$ TODO: link me $$$]
Modified: trunk/libs/spirit/doc/what_s_new.qbk
==============================================================================
--- trunk/libs/spirit/doc/what_s_new.qbk (original)
+++ trunk/libs/spirit/doc/what_s_new.qbk 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -46,7 +46,7 @@
[heading Spirit V2.1]
-[heading What's changed in __qi__ and __karma__ from V2.0 to 2.x]
+[heading What's changed in __qi__ and __karma__ from V2.0 (Boost V1.37.0) to 2.x (Boost V1.41.0)]
* __spirit__ is now based on the newest version of __boost_proto__
* `qi::phrase_parse`, `qi::phrase_format` now post-skip by default.
Modified: trunk/libs/spirit/example/karma/reference.cpp
==============================================================================
--- trunk/libs/spirit/example/karma/reference.cpp (original)
+++ trunk/libs/spirit/example/karma/reference.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -152,22 +152,17 @@
//[reference_karma_using_declarations_and_predicate
using boost::spirit::karma::generate;
using boost::spirit::karma::double_;
+ using boost::spirit::karma::ascii::char_;
using boost::spirit::karma::ascii::string;
using boost::phoenix::ref;
//]
//[reference_karma_and_predicate
- boost::variant<double, int, std::string> v(1.0);
- test_generator("numeric: 1.0",
- &((double_ | int_)[_1 = ref(v)]) << "numeric: " << double_
- | &((string | eps(false))[_1 = ref(v)]) << "string: " << string
- );
-
- v = "example"
- test_generator("string: example",
- &((double_ | int_)[_1 = ref(v)]) << "numeric: " << double_
- | &((string | eps(false))[_1 = ref(v)]) << "string: " << string
- );
+ test_generator_attr("b", &char_('a') << 'b' | 'c', 'a');
+ test_generator_attr("c", &char_('a') << 'b' | 'c', 'x');
+
+ test_generator_attr("abc", &string("123") << "abc" | "def", "123");
+ test_generator_attr("def", &string("123") << "abc" | "def", "456");
//]
}
@@ -175,22 +170,17 @@
//[reference_karma_using_declarations_not_predicate
using boost::spirit::karma::generate;
using boost::spirit::karma::double_;
+ using boost::spirit::karma::ascii::char_;
using boost::spirit::karma::ascii::string;
using boost::phoenix::ref;
//]
//[reference_karma_not_predicate
- boost::variant<double, int, std::string> v(1.0);
- test_generator("not a string!",
- !((double_ | int_)[_1 = ref(v)]) << "not numeric!"
- | !((string | eps(false))[_1 = ref(v)]) << "not a string!"
- );
-
- v = "example"
- test_generator("not numeric!",
- !((double_ | int_)[_1 = ref(v)]) << "not numeric!"
- | !((string | eps(false))[_1 = ref(v)]) << "not a string!"
- );
+ test_generator_attr("c", !char_('a') << 'b' | 'c', 'a');
+ test_generator_attr("b", !char_('a') << 'b' | 'c', 'x');
+
+ test_generator_attr("def", !string("123") << "abc" | "def", "123");
+ test_generator_attr("abc", !string("123") << "abc" | "def", "456");
//]
}
@@ -227,5 +217,35 @@
//]
}
+ {
+ //[reference_karma_using_declarations_int
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::int_;
+ //]
+
+ //[reference_karma_int
+ test_generator("-2", lit(-2));
+ test_generator("-2", int_(-2));
+ test_generator_attr("-2", int_(-2), -2);
+ test_generator_attr("", int_(-2), 3); // fails (as -2 != 3)!
+ test_generator_attr("-2", int_, -2);
+ //]
+ }
+
+ {
+ //[reference_karma_using_declarations_uint
+ using boost::spirit::karma::generate;
+ using boost::spirit::karma::uint;
+ //]
+
+ //[reference_karma_uint
+ test_generator("2", lit(2U));
+ test_generator("2", uint(2));
+ test_generator_attr("2", uint(2), 2);
+ test_generator_attr("", uint(2), 3); // fails (as 2 != 3)!
+ test_generator_attr("2", uint, 2);
+ //]
+ }
+
return 0;
}
Modified: trunk/libs/spirit/test/CMakeLists.txt
==============================================================================
--- trunk/libs/spirit/test/CMakeLists.txt (original)
+++ trunk/libs/spirit/test/CMakeLists.txt 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -85,6 +85,7 @@
boost_test_run(karma_list karma/list.cpp COMPILE_FLAGS ${test_compile_flags})
boost_test_run(karma_lit karma/lit.cpp COMPILE_FLAGS ${test_compile_flags})
boost_test_run(karma_maxwidth karma/maxwidth.cpp COMPILE_FLAGS ${test_compile_flags})
+boost_test_run(karma_not_predicate karma/not_predicate.cpp COMPILE_FLAGS ${test_compile_flags})
boost_test_run(karma_omit karma/omit.cpp COMPILE_FLAGS ${test_compile_flags})
boost_test_run(karma_optional karma/optional.cpp COMPILE_FLAGS ${test_compile_flags})
boost_test_run(karma_pattern karma/pattern.cpp COMPILE_FLAGS ${test_compile_flags})
Modified: trunk/libs/spirit/test/Jamfile
==============================================================================
--- trunk/libs/spirit/test/Jamfile (original)
+++ trunk/libs/spirit/test/Jamfile 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -90,6 +90,7 @@
[ run karma/list.cpp : : : : karma_list ]
[ run karma/lit.cpp : : : : karma_lit ]
[ run karma/maxwidth.cpp : : : : ]
+ [ run karma/not_predicate.cpp : : : : karma_not_predicate ]
[ run karma/omit.cpp : : : : karma_omit ]
[ run karma/optional.cpp : : : : karma_optional ]
[ run karma/pattern.cpp : : : : karma_pattern ]
Modified: trunk/libs/spirit/test/karma/alternative.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/alternative.cpp (original)
+++ trunk/libs/spirit/test/karma/alternative.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -36,25 +36,25 @@
variant<int, char> v (10);
BOOST_TEST(test("10", char_ | int_, v));
BOOST_TEST(test("10", int_ | char_, v));
- BOOST_TEST(test("a", char_('a') | char_ | int_, v));
- BOOST_TEST(test("a", char_ | char_('a') | int_, v));
- BOOST_TEST(test("10", int_ | char_('a') | char_, v));
+ BOOST_TEST(test("a", lit('a') | char_ | int_, v));
+ BOOST_TEST(test("a", char_ | lit('a') | int_, v));
+ BOOST_TEST(test("10", int_ | lit('a') | char_, v));
v = 'c';
BOOST_TEST(test("c", char_ | int_, v));
- BOOST_TEST(test("a", char_('a') | char_ | int_, v));
- BOOST_TEST(test("c", char_ | char_('a') | int_, v));
- BOOST_TEST(test("a", int_ | char_('a') | char_, v));
- BOOST_TEST(test("c", int_ | char_ | char_('a'), v));
+ BOOST_TEST(test("a", lit('a') | char_ | int_, v));
+ BOOST_TEST(test("c", char_ | lit('a') | int_, v));
+ BOOST_TEST(test("a", int_ | lit('a') | char_, v));
+ BOOST_TEST(test("c", int_ | char_ | lit('a'), v));
}
{
// test if alternatives with all components having unused
// attribute generate first alternative
fusion::vector<char, char> v('a', 'b');
- BOOST_TEST(test("axb", char_ << (char_('x') | char_('i')) << char_, v));
+ BOOST_TEST(test("axb", char_ << (lit('x') | lit('i')) << char_, v));
BOOST_TEST(test("axib",
- char_ << (char_('x') << char_('i') | char_('i')) << char_, v));
+ char_ << (lit('x') << lit('i') | lit('i')) << char_, v));
}
{
@@ -67,45 +67,45 @@
variant<int, char> v (10);
BOOST_TEST(test_delimited("10 ", char_ | int_, v, char_(' ')));
BOOST_TEST(test_delimited("10 ", int_ | char_, v, char_(' ')));
- BOOST_TEST(test_delimited("a ", char_('a') | char_ | int_, v, char_(' ')));
- BOOST_TEST(test_delimited("a ", char_ | char_('a') | int_, v, char_(' ')));
- BOOST_TEST(test_delimited("10 ", int_ | char_('a') | char_, v, char_(' ')));
+ BOOST_TEST(test_delimited("a ", lit('a') | char_ | int_, v, char_(' ')));
+ BOOST_TEST(test_delimited("a ", char_ | lit('a') | int_, v, char_(' ')));
+ BOOST_TEST(test_delimited("10 ", int_ | lit('a') | char_, v, char_(' ')));
v = 'c';
BOOST_TEST(test_delimited("c ", char_ | int_, v, char_(' ')));
- BOOST_TEST(test_delimited("a ", char_('a') | char_ | int_, v, char_(' ')));
- BOOST_TEST(test_delimited("c ", char_ | char_('a') | int_, v, char_(' ')));
- BOOST_TEST(test_delimited("a ", int_ | char_('a') | char_, v, char_(' ')));
- BOOST_TEST(test_delimited("c ", int_ | char_ | char_('a'), v, char_(' ')));
+ BOOST_TEST(test_delimited("a ", lit('a') | char_ | int_, v, char_(' ')));
+ BOOST_TEST(test_delimited("c ", char_ | lit('a') | int_, v, char_(' ')));
+ BOOST_TEST(test_delimited("a ", int_ | lit('a') | char_, v, char_(' ')));
+ BOOST_TEST(test_delimited("c ", int_ | char_ | lit('a'), v, char_(' ')));
}
{
// if nothing matches, the first explicit alternative will be chosen
variant<double, char const*> v (10.0);
- BOOST_TEST(test("11", char_ | int_(11), v));
- BOOST_TEST(test("11", int_(11) | char_ , v));
- BOOST_TEST(test("10.0", double_ | int_(11), v));
- BOOST_TEST(test("11", int_(11) | double_, v));
+ BOOST_TEST(test("11", char_ | lit(11), v));
+ BOOST_TEST(test("11", lit(11) | char_ , v));
+ BOOST_TEST(test("10.0", double_ | lit(11), v));
+ BOOST_TEST(test("11", lit(11) | double_, v));
BOOST_TEST(!test("", char_ | int_, v));
v = "c";
- BOOST_TEST(test("11", char_ | int_(11), v));
- BOOST_TEST(test("11", double_ | int_(11), v));
+ BOOST_TEST(test("11", char_ | lit(11), v));
+ BOOST_TEST(test("11", double_ | lit(11), v));
BOOST_TEST(!test("", char_ | int_, v));
}
{
// if nothing matches, the first explicit alternative will be chosen
variant<double, char const*> v (10.0);
- BOOST_TEST(test_delimited("11 ", char_ | int_(11), v, char_(' ')));
- BOOST_TEST(test_delimited("11 ", int_(11) | char_ , v, char_(' ')));
- BOOST_TEST(test_delimited("10.0 ", double_ | int_(11), v, char_(' ')));
- BOOST_TEST(test_delimited("11 ", int_(11) | double_, v, char_(' ')));
+ BOOST_TEST(test_delimited("11 ", char_ | lit(11), v, char_(' ')));
+ BOOST_TEST(test_delimited("11 ", lit(11) | char_ , v, char_(' ')));
+ BOOST_TEST(test_delimited("10.0 ", double_ | lit(11), v, char_(' ')));
+ BOOST_TEST(test_delimited("11 ", lit(11) | double_, v, char_(' ')));
BOOST_TEST(!test_delimited("", char_ | int_, v, char_(' ')));
v = "c";
- BOOST_TEST(test_delimited("11 ", char_ | int_(11), v, char_(' ')));
- BOOST_TEST(test_delimited("11 ", double_ | int_(11), v, char_(' ')));
+ BOOST_TEST(test_delimited("11 ", char_ | lit(11), v, char_(' ')));
+ BOOST_TEST(test_delimited("11 ", double_ | lit(11), v, char_(' ')));
BOOST_TEST(!test_delimited("", char_ | int_, v, char_(' ')));
}
Modified: trunk/libs/spirit/test/karma/and_predicate.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/and_predicate.cpp (original)
+++ trunk/libs/spirit/test/karma/and_predicate.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -10,7 +10,7 @@
#include <boost/spirit/include/karma_generate.hpp>
#include <boost/spirit/include/karma_operator.hpp>
#include <boost/spirit/include/karma_auxiliary.hpp>
-#include <boost/spirit/include/karma_string.hpp>
+#include <boost/spirit/include/karma_char.hpp>
#include <iostream>
#include "test.hpp"
@@ -25,5 +25,12 @@
BOOST_TEST(test("1", int_(1) << &(int_(2) << &int_(3) << int_(4))));
}
+ {
+ using boost::spirit::ascii::char_;
+
+ BOOST_TEST(test("b", &char_('a') << 'b' | 'c', 'a'));
+ BOOST_TEST(test("c", &char_('a') << 'b' | 'c', 'x'));
+ }
+
return boost::report_errors();
}
Modified: trunk/libs/spirit/test/karma/char.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/char.cpp (original)
+++ trunk/libs/spirit/test/karma/char.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -48,6 +48,9 @@
BOOST_TEST(test("x", char_('x')));
BOOST_TEST(!test("x", char_('y')));
+ BOOST_TEST(test("x", char_('x'), 'x'));
+ BOOST_TEST(!test("", char_('y'), 'x'));
+
BOOST_TEST(test("x", char_("x")));
#if defined(KARMA_FAIL_COMPILATION)
@@ -78,6 +81,9 @@
BOOST_TEST(!test(L"x", char_('y')));
BOOST_TEST(!test(L"x", char_(L'y')));
+ BOOST_TEST(test(L"x", char_(L'x'), L'x'));
+ BOOST_TEST(!test(L"", char_('y'), L'x'));
+
BOOST_TEST(test(L"x", char_(L"x")));
#if defined(KARMA_FAIL_COMPILATION)
@@ -97,6 +103,9 @@
BOOST_TEST(test(L" ", space, L' '));
BOOST_TEST(test("\t", space, '\t'));
BOOST_TEST(test(L"\t", space, L'\t'));
+
+ BOOST_TEST(!test("", space, 'x'));
+ BOOST_TEST(!test(L"", space, L'x'));
}
{
@@ -111,6 +120,9 @@
BOOST_TEST(test(L" ", space, L' '));
BOOST_TEST(test("\t", space, '\t'));
BOOST_TEST(test(L"\t", space, L'\t'));
+
+ BOOST_TEST(!test("", space, 'x'));
+ BOOST_TEST(!test(L"", space, L'x'));
}
{
@@ -134,6 +146,9 @@
BOOST_TEST(test_delimited("x ", char_('x'), ' '));
BOOST_TEST(!test_delimited("x ", char_('y'), ' '));
+ BOOST_TEST(test_delimited("x ", char_('x'), 'x', ' '));
+ BOOST_TEST(!test_delimited("", char_('y'), 'x', ' '));
+
BOOST_TEST(test_delimited("x ", char_("x"), ' '));
#if defined(KARMA_FAIL_COMPILATION)
@@ -175,6 +190,12 @@
BOOST_TEST((test("x", ascii::char_(val('x')))));
BOOST_TEST((test(L"x", wide::char_(val(L'x')))));
+
+ BOOST_TEST((test("x", ascii::char_(val('x')), 'x')));
+ BOOST_TEST((test(L"x", wide::char_(val(L'x')), L'x')));
+
+ BOOST_TEST((!test("", ascii::char_(val('y')), 'x')));
+ BOOST_TEST((!test(L"", wide::char_(val(L'y')), L'x')));
}
return boost::report_errors();
Modified: trunk/libs/spirit/test/karma/int_numerics.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/int_numerics.cpp (original)
+++ trunk/libs/spirit/test/karma/int_numerics.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -57,11 +57,23 @@
BOOST_TEST(test(expected_minval, gen, minval));
BOOST_TEST(test(expected_maxval, gen(maxval)));
BOOST_TEST(test(expected_minval, gen(minval)));
+ BOOST_TEST(test(expected_maxval, gen(maxval), maxval));
+ BOOST_TEST(test(expected_minval, gen(minval), minval));
+ BOOST_TEST(!test("", gen(maxval), maxval-1));
+ BOOST_TEST(!test("", gen(minval), minval+1));
+ BOOST_TEST(test(expected_maxval, lit(maxval)));
+ BOOST_TEST(test(expected_minval, lit(minval)));
BOOST_TEST(test_delimited(expected_maxval + " ", gen, maxval, char(' ')));
BOOST_TEST(test_delimited(expected_minval + " ", gen, minval, char(' ')));
BOOST_TEST(test_delimited(expected_maxval + " ", gen(maxval), char(' ')));
BOOST_TEST(test_delimited(expected_minval + " ", gen(minval), char(' ')));
+ BOOST_TEST(test_delimited(expected_maxval + " ", gen(maxval), maxval, char(' ')));
+ BOOST_TEST(test_delimited(expected_minval + " ", gen(minval), minval, char(' ')));
+ BOOST_TEST(!test_delimited("", gen(maxval), maxval-1, char(' ')));
+ BOOST_TEST(!test_delimited("", gen(minval), minval+1, char(' ')));
+ BOOST_TEST(test_delimited(expected_maxval + " ", lit(maxval), char(' ')));
+ BOOST_TEST(test_delimited(expected_minval + " ", lit(minval), char(' ')));
// action tests
BOOST_TEST(test(expected_maxval, gen[_1 = val(maxval)]));
@@ -134,6 +146,26 @@
BOOST_TEST(test_delimited("-123 ", upper[int_(-123)], char_(' ')));
}
+ { // literals, make sure there are no ambiguities
+ BOOST_TEST(test("0", lit(short(0))));
+ BOOST_TEST(test("0", lit(0)));
+ BOOST_TEST(test("0", lit(0L)));
+#ifdef BOOST_HAS_LONG_LONG
+ BOOST_TEST(test("0", lit(0LL)));
+#endif
+
+ BOOST_TEST(test("0", lit(unsigned short(0))));
+ BOOST_TEST(test("0", lit(0U)));
+ BOOST_TEST(test("0", lit(0UL)));
+#ifdef BOOST_HAS_LONG_LONG
+ BOOST_TEST(test("0", lit(0ULL)));
+#endif
+
+ BOOST_TEST(test("a", lit('a')));
+ BOOST_TEST(test("a", 'a'));
+ BOOST_TEST(test(L"a", L'a'));
+ }
+
{ // lazy numerics
using namespace boost::phoenix;
Modified: trunk/libs/spirit/test/karma/kleene.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/kleene.cpp (original)
+++ trunk/libs/spirit/test/karma/kleene.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -63,9 +63,9 @@
BOOST_TEST(test_delimited("10 , 20 , 30 , ", *(int_ << ','), v, lit(" ")));
fusion::vector<char, char> cc ('a', 'c');
- BOOST_TEST(test("ac", char_ << *(char_(' ') << ',') << char_, cc));
+ BOOST_TEST(test("ac", char_ << *(lit(' ') << ',') << char_, cc));
BOOST_TEST(test_delimited("a c ",
- char_ << *(char_(' ') << ',') << char_, cc, " "));
+ char_ << *(lit(' ') << ',') << char_, cc, " "));
}
{ // actions
Modified: trunk/libs/spirit/test/karma/lit.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/lit.cpp (original)
+++ trunk/libs/spirit/test/karma/lit.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -41,6 +41,10 @@
BOOST_TEST(test("abc", string("abc")));
BOOST_TEST(!test("abcd", string("abc")));
+
+ BOOST_TEST(test("abc", string("abc"), "abc"));
+ BOOST_TEST(!test("", string("abc"), "abcd"));
+ BOOST_TEST(!test("", string("abcd"), "abc"));
}
{
@@ -110,6 +114,10 @@
BOOST_TEST(test_delimited("abc ", string("abc"), ' '));
BOOST_TEST(!test_delimited("abcd ", string("abc"), ' '));
+
+ BOOST_TEST(test_delimited("abc ", string("abc"), "abc", ' '));
+ BOOST_TEST(!test_delimited("", string("abc"), "abcd", ' '));
+ BOOST_TEST(!test_delimited("", string("abcd"), "abc", ' '));
}
{
@@ -148,6 +156,10 @@
BOOST_TEST((test("abc", lit(phx::val(s)))));
BOOST_TEST((test("abc", string(phx::val(s)))));
+ BOOST_TEST(test("abc", string(phx::val(s)), "abc"));
+ BOOST_TEST(!test("", string(phx::val(s)), "abcd"));
+ BOOST_TEST(!test("", string(phx::val(s)), "abc"));
+
std::basic_string<wchar_t> ws(L"abc");
BOOST_TEST((test(L"abc", lit(phx::ref(ws)))));
BOOST_TEST((test(L"abc", string(phx::ref(ws)))));
Added: trunk/libs/spirit/test/karma/not_predicate.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/karma/not_predicate.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -0,0 +1,36 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/config/warning_disable.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/spirit/include/karma_generate.hpp>
+#include <boost/spirit/include/karma_operator.hpp>
+#include <boost/spirit/include/karma_auxiliary.hpp>
+#include <boost/spirit/include/karma_char.hpp>
+#include <boost/spirit/include/karma_string.hpp>
+
+#include <iostream>
+#include "test.hpp"
+
+int
+main()
+{
+ using namespace spirit_test;
+ using namespace boost::spirit;
+
+ {
+ using boost::spirit::ascii::char_;
+ using boost::spirit::ascii::string;
+
+ BOOST_TEST(test("c", !char_('a') << 'b' | 'c', 'a'));
+ BOOST_TEST(test("b", !char_('a') << 'b' | 'c', 'x'));
+
+ BOOST_TEST(test("def", !string("123") << "abc" | "def", "123"));
+ BOOST_TEST(test("abc", !string("123") << "abc" | "def", "456"));
+ }
+
+ return boost::report_errors();
+}
Modified: trunk/libs/spirit/test/karma/plus.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/plus.cpp (original)
+++ trunk/libs/spirit/test/karma/plus.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -67,9 +67,9 @@
BOOST_TEST(test_delimited("10 , 20 , 30 , ", +(int_ << ','), v, lit(" ")));
fusion::vector<char, char> cc ('a', 'c');
- BOOST_TEST(test("ac", char_ << !+(char_(' ') << ',') << char_, cc));
+ BOOST_TEST(test("ac", char_ << !+(lit(' ') << ',') << char_, cc));
BOOST_TEST(test_delimited("a c ",
- char_ << !+(char_(' ') << ',') << char_, cc, " "));
+ char_ << !+(lit(' ') << ',') << char_, cc, " "));
}
{ // actions
Modified: trunk/libs/spirit/test/karma/real_numerics.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/real_numerics.cpp (original)
+++ trunk/libs/spirit/test/karma/real_numerics.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -410,6 +410,19 @@
}
{
+ BOOST_TEST(test("1.0", lit(1.0)));
+ BOOST_TEST(test("1.0", lit(1.0f)));
+ BOOST_TEST(test("1.0", lit(1.0l)));
+
+ BOOST_TEST(test("1.0", double_(1.0), 1.0));
+ BOOST_TEST(test("1.0", float_(1.0), 1.0f));
+ BOOST_TEST(test("1.0", long_double(1.0), 1.0l));
+ BOOST_TEST(!test("", double_(1.0), 2.0));
+ BOOST_TEST(!test("", float_(1.0), 2.0f));
+ BOOST_TEST(!test("", long_double(1.0), 2.0l));
+ }
+
+ {
using namespace boost::spirit::ascii;
///////////////////////////////////////////////////////////////////////
Modified: trunk/libs/spirit/test/karma/sequence.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/sequence.cpp (original)
+++ trunk/libs/spirit/test/karma/sequence.cpp 2009-08-09 19:06:02 EDT (Sun, 09 Aug 2009)
@@ -70,9 +70,9 @@
// sequence has an unused parameter as well
fusion::vector<char, char> p ('a', 'e');
BOOST_TEST(test("abcde",
- char_ << (char_('b') << 'c' << 'd') << char_, p));
+ char_ << (lit('b') << 'c' << 'd') << char_, p));
BOOST_TEST(test_delimited("a b c d e ",
- char_ << (char_('b') << 'c' << 'd') << char_, p, char(' ')));
+ char_ << (lit('b') << 'c' << 'd') << char_, p, char(' ')));
}
{
@@ -128,7 +128,7 @@
char(' ')));
BOOST_TEST(test_delimited("a 12 c ",
- (char_ << int_(12) << char_)[_1 = 'a', _2 = 'c'], char(' ')));
+ (char_ << lit(12) << char_)[_1 = 'a', _2 = 'c'], char(' ')));
char c = 'c';
BOOST_TEST(test("abc",
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk