Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56788 - in trunk/libs/spirit/doc: . abstracts advanced html html/spirit html/spirit/abstracts html/spirit/abstracts/attributes html/spirit/abstracts/customize html/spirit/abstracts/indepth html/spirit/advanced html/spirit/advanced/customize html/spirit/advanced/customize/assign_to html/spirit/advanced/customize/iterate html/spirit/advanced/customize/store_value html/spirit/advanced/indepth html/spirit/karma html/spirit/karma/performance_measurements html/spirit/karma/performance_measurements/numeric_performance html/spirit/karma/quick_reference html/spirit/karma/quick_reference/primitive_generators html/spirit/karma/reference html/spirit/karma/reference/auxiliary html/spirit/karma/reference/binary html/spirit/karma/reference/char html/spirit/karma/reference/directive html/spirit/karma/reference/generator_concepts html/spirit/karma/reference/numeric html/spirit/karma/reference/operator html/spirit/karma/reference/stream html/spirit/karma/reference/string html/spirit/karma/tutorials html/spirit/lex html/spirit/lex/abstracts html/spirit/lex/abstracts/lexer_primitives html/spirit/lex/quick_reference html/spirit/lex/reference html/spirit/lex/reference/lexer_concepts html/spirit/lex/reference/primitives html/spirit/lex/tutorials html/spirit/notes html/spirit/qi html/spirit/qi/quick_reference html/spirit/qi/quick_reference/qi_parsers html/spirit/qi/reference html/spirit/qi/reference/auxiliary html/spirit/qi/reference/binary html/spirit/qi/reference/char html/spirit/qi/reference/directive html/spirit/qi/reference/numeric html/spirit/qi/reference/operator html/spirit/qi/reference/parser_concepts html/spirit/qi/reference/string html/spirit/qi/tutorials html/spirit/structure html/spirit/support karma
From: hartmut.kaiser_at_[hidden]
Date: 2009-10-13 12:19:35


Author: hkaiser
Date: 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
New Revision: 56788
URL: http://svn.boost.org/trac/boost/changeset/56788

Log:
Spirit: updating docs
Added:
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html (contents, props changed)
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html (contents, props changed)
Removed:
   trunk/libs/spirit/doc/html/spirit/abstracts/customize/
   trunk/libs/spirit/doc/html/spirit/abstracts/customize.html
   trunk/libs/spirit/doc/html/spirit/abstracts/indepth/
   trunk/libs/spirit/doc/html/spirit/abstracts/indepth.html
Text files modified:
   trunk/libs/spirit/doc/Missing.txt | 3
   trunk/libs/spirit/doc/abstracts/attributes.qbk | 32
   trunk/libs/spirit/doc/advanced/customization_points.qbk | 678 ++++++++++++++++++++++++---
   trunk/libs/spirit/doc/html/index.html | 15
   trunk/libs/spirit/doc/html/spirit/abstracts.html | 15
   trunk/libs/spirit/doc/html/spirit/abstracts/attributes.html | 21
   trunk/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html | 203 ++++---
   trunk/libs/spirit/doc/html/spirit/abstracts/attributes/more_sompound_attributes.html | 180 ++++---
   trunk/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html | 40
   trunk/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html | 49 -
   trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 111 ++--
   trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 76 +-
   trunk/libs/spirit/doc/html/spirit/acknowledgments.html | 121 ++--
   trunk/libs/spirit/doc/html/spirit/advanced.html | 19
   trunk/libs/spirit/doc/html/spirit/advanced/customize.html | 64 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html | 30
   trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html | 274 ++++++----
   trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html | 270 ++++++----
   trunk/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html | 355 ++++++++------
   trunk/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html | 344 +++++++------
   trunk/libs/spirit/doc/html/spirit/advanced/customize/is_container.html | 604 +++++++++++++-----------
   trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value.html | 37 -
   trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html | 359 ++++++++------
   trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html | 398 +++++++++-------
   trunk/libs/spirit/doc/html/spirit/advanced/customize/transform.html | 529 ++++++++++++++++-----
   trunk/libs/spirit/doc/html/spirit/advanced/indepth.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html | 218 ++++----
   trunk/libs/spirit/doc/html/spirit/faq.html | 94 +--
   trunk/libs/spirit/doc/html/spirit/introduction.html | 303 +++++++-----
   trunk/libs/spirit/doc/html/spirit/karma.html | 17
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements.html | 21
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance.html | 22
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/double_performance.html | 257 ++++++----
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html | 255 ++++++----
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/int_performance.html | 257 ++++++----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference.html | 21
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/common_notation.html | 102 ++--
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 237 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/non_terminals.html | 299 +++++++-----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/phoenix.html | 40
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators.html | 23
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/action.html | 70 +-
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/auxiliary.html | 236 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/binary.html | 280 ++++++----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/boolean.html | 144 +++--
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/char.html | 649 +++++++++++++++-----------
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/directives.html | 674 ++++++++++++++++-----------
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/operators.html | 273 ++++++----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/real_number.html | 306 +++++++-----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/signed_int.html | 302 +++++++-----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/stream.html | 228 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/string.html | 140 +++--
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/primitive_generators/unsigned_int.html | 402 +++++++++-------
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/semantic_actions.html | 25
   trunk/libs/spirit/doc/html/spirit/karma/reference.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 43 -
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html | 343 ++++++++++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html | 141 +++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html | 240 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html | 197 ++++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary.html | 33
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html | 336 ++++++++-----
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html | 339 ++++++++-----
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html | 428 ++++++++++-------
   trunk/libs/spirit/doc/html/spirit/karma/reference/char.html | 44 -
   trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html | 430 ++++++++++-------
   trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html | 687 ++++++++++++++++------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html | 52 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html | 592 ++++++++++++++----------
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html | 160 +++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html | 239 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html | 189 ++++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html | 148 +++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html | 330 +++++++------
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html | 217 ++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts.html | 19
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html | 198 ++++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html | 235 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html | 168 +++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html | 98 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html | 243 +++++----
   trunk/libs/spirit/doc/html/spirit/karma/reference/karma_basics.html | 116 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html | 48 -
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html | 621 ++++++++++++++-----------
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html | 956 +++++++++++++++++++++------------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html | 685 ++++++++++++++++------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html | 709 ++++++++++++++++------------
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 71 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html | 140 +++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html | 127 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html | 144 +++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html | 155 +++---
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html | 124 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html | 133 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html | 141 +++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html | 146 +++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/stream.html | 35
   trunk/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html | 459 +++++++++++--------
   trunk/libs/spirit/doc/html/spirit/karma/reference/string.html | 33
   trunk/libs/spirit/doc/html/spirit/karma/reference/string/string.html | 297 +++++++-----
   trunk/libs/spirit/doc/html/spirit/karma/tutorials.html | 17
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_complex.html | 46 -
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html | 142 ++---
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html | 76 +-
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/num_matrix.html | 22
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html | 32
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html | 86 +-
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html | 161 +++---
   trunk/libs/spirit/doc/html/spirit/lex.html | 20
   trunk/libs/spirit/doc/html/spirit/lex/abstracts.html | 20
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_attributes.html | 20
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_parsing.html | 22
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives.html | 20
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_primitives.html | 20
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_definition.html | 21
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html | 134 ++--
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html | 448 +++++++++++-------
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_states.html | 45 -
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 71 +-
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 83 +-
   trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 88 +--
   trunk/libs/spirit/doc/html/spirit/lex/quick_reference.html | 22
   trunk/libs/spirit/doc/html/spirit/lex/quick_reference/common_notation.html | 56 +-
   trunk/libs/spirit/doc/html/spirit/lex/quick_reference/lexers.html | 229 +++++---
   trunk/libs/spirit/doc/html/spirit/lex/quick_reference/phoenix.html | 47 -
   trunk/libs/spirit/doc/html/spirit/lex/quick_reference/semantic_actions.html | 29
   trunk/libs/spirit/doc/html/spirit/lex/reference.html | 21
   trunk/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html | 50 -
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer.html | 54 +-
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts.html | 19
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html | 189 ++++---
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html | 153 +++--
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html | 85 +-
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html | 147 +++--
   trunk/libs/spirit/doc/html/spirit/lex/reference/primitives.html | 38
   trunk/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html | 155 +++--
   trunk/libs/spirit/doc/html/spirit/lex/reference/token.html | 19
   trunk/libs/spirit/doc/html/spirit/lex/reference/tokendef.html | 17
   trunk/libs/spirit/doc/html/spirit/lex/tutorials.html | 24
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 108 ++--
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 125 ++--
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 196 ++++----
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_tutorials.html | 51 -
   trunk/libs/spirit/doc/html/spirit/notes.html | 18
   trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html | 331 +++++++------
   trunk/libs/spirit/doc/html/spirit/notes/style_guide.html | 52 +-
   trunk/libs/spirit/doc/html/spirit/preface.html | 223 +++++---
   trunk/libs/spirit/doc/html/spirit/qi.html | 18
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference.html | 18
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/common_notation.html | 91 +-
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 250 +++++----
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/non_terminals.html | 305 +++++++-----
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/phoenix.html | 38
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html | 20
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/action.html | 67 +-
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/auxiliary.html | 221 +++++---
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/binary.html | 243 ++++++---
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/char.html | 590 ++++++++++++++---------
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/directive.html | 313 +++++++-----
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/numeric.html | 391 +++++++++------
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/operator.html | 395 +++++++++------
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers/string.html | 199 ++++---
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/semantic_actions.html | 23
   trunk/libs/spirit/doc/html/spirit/qi/reference.html | 17
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 43
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html | 141 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html | 135 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html | 132 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html | 194 ++++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html | 183 ++++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html | 230 +++++----
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary.html | 30
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html | 346 ++++++++------
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html | 349 ++++++++------
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html | 430 ++++++++++-------
   trunk/libs/spirit/doc/html/spirit/qi/reference/char.html | 42
   trunk/libs/spirit/doc/html/spirit/qi/reference/char/char.html | 519 ++++++++++++---------
   trunk/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html | 365 +++++++++------
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html | 52 -
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html | 162 +++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html | 155 +++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html | 151 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html | 161 +++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html | 281 ++++++-----
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html | 188 ++++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric.html | 43 -
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html | 407 +++++++++-------
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html | 551 +++++++++++++---------
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html | 945 +++++++++++++++++++++++----------------
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html | 618 +++++++++++++++----------
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator.html | 85 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html | 150 +++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html | 131 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html | 142 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html | 173 +++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html | 119 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/list.html | 138 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html | 130 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html | 128 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html | 136 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html | 121 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html | 137 ++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html | 147 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts.html | 15
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html | 189 ++++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html | 147 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html | 227 +++++----
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html | 77 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html | 143 +++--
   trunk/libs/spirit/doc/html/spirit/qi/reference/string.html | 33
   trunk/libs/spirit/doc/html/spirit/qi/reference/string/string.html | 241 +++++----
   trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html | 564 +++++++++++++---------
   trunk/libs/spirit/doc/html/spirit/qi/tutorials.html | 17
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/complex___our_first_complex_parser.html | 50 -
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html | 191 +++----
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html | 267 +++++-----
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html | 185 ++++---
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/number_list___stuffing_numbers_into_a_std__vector.html | 33
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/number_list_attribute___one_more__with_style.html | 44 -
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/number_list_redux___list_syntax.html | 25
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html | 23
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html | 153 +++---
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html | 68 +-
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/sum___adding_numbers.html | 113 ++--
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html | 153 +++---
   trunk/libs/spirit/doc/html/spirit/references.html | 447 ++++++++++++------
   trunk/libs/spirit/doc/html/spirit/repository.html | 17
   trunk/libs/spirit/doc/html/spirit/structure.html | 15
   trunk/libs/spirit/doc/html/spirit/structure/include.html | 77 +-
   trunk/libs/spirit/doc/html/spirit/support.html | 24
   trunk/libs/spirit/doc/html/spirit/support/multi_pass.html | 717 ++++++++++++++++-------------
   trunk/libs/spirit/doc/html/spirit/what_s_new.html | 278 +++++------
   trunk/libs/spirit/doc/karma/auxiliary.qbk | 71 ++
   trunk/libs/spirit/doc/karma/quick_reference.qbk | 2
   trunk/libs/spirit/doc/spirit2.qbk | 15
   235 files changed, 23844 insertions(+), 18669 deletions(-)

Modified: trunk/libs/spirit/doc/Missing.txt
==============================================================================
--- trunk/libs/spirit/doc/Missing.txt (original)
+++ trunk/libs/spirit/doc/Missing.txt 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -42,10 +42,13 @@
 - More introductory material
 
 Reference
+- attr_cast (in auxiliary.qbk)
 - action.qbk
 - nonterminal.qbk
 - document API functions: generate, generate_delimited, format, format_delimited
 
+- Generators in Depth
+
 Lex
 ---
 - lexer_attributes.qbk

Modified: trunk/libs/spirit/doc/abstracts/attributes.qbk
==============================================================================
--- trunk/libs/spirit/doc/abstracts/attributes.qbk (original)
+++ trunk/libs/spirit/doc/abstracts/attributes.qbk 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -110,10 +110,10 @@
     // the following parses "1.0 2.0" into a pair of double
     std::string input("1.0 2.0");
     std::pair<double, double> p;
- qi::parse(input.begin(), input, end(),
- double_ >> double_, // parser grammar
- ascii::space, // delimiter grammar
- p); // attribute to fill while parsing
+ qi::parse(input.begin(), input.end(),
+ qi::double_ >> qi::double_, // parser grammar
+ qi::space, // delimiter grammar
+ p); // attribute to fill while parsing
 
 and generate output for it:
 
@@ -121,9 +121,9 @@
     std::string str;
     std::back_insert_iterator<std::string> out(str);
     karma::generate(out,
- double_ << double_, // generator grammar (format description)
- ascii::space, // delimiter grammar
- p); // data to use as the attribute
+ karma::double_ << karma::double_, // generator grammar (format description)
+ karma::space, // delimiter grammar
+ p); // data to use as the attribute
 
 (where the `ascii::space` generator is used as the delimiter, allowing to
 automatically skip/insert delimiting spaces in between all primitives).
@@ -136,8 +136,8 @@
       could be rewritten as:
       ``
           double d1 = 0.0, d2 = 0.0;
- qi::parse(begin, end, double_ >> double_, space, d1, d2);
- karma::generate(out, double_ << double_, space, d1, d2);
+ qi::parse(begin, end, qi::double_ >> qi::double_, qi::space, d1, d2);
+ karma::generate(out, karma::double_ << karma::double_, karma::space, d1, d2);
       ``
       where the first attribute is used for the first `double_`, and
       the second attribute is used for the second `double_`.
@@ -173,7 +173,7 @@
 
 [table
     [[Library] [Sequence expression]]
- [[Qi] [`'(' << double_ >> ", " << double_ >> ')'`]]
+ [[Qi] [`'(' >> double_ >> ", " >> double_ >> ')'`]]
     [[Karma] [`'(' << double_ << ", " << double_ << ')'`]]
 ]
 
@@ -188,9 +188,9 @@
     // the following parses "1.0 2.0" into a pair of double
     std::string input("(1.0, 2.0)");
     std::pair<double, double> p;
- qi::parse(input.begin(), input, end(),
- '(' >> double_ >> ", " >> double_ << ')', // parser grammar
- p); // attribute to fill while parsing
+ qi::parse(input.begin(), input.end(),
+ '(' >> qi::double_ >> ", " >> qi::double_ >> ')', // parser grammar
+ p); // attribute to fill while parsing
 
 and here is the equivalent __karma__ code snippet:
 
@@ -198,7 +198,7 @@
     std::string str;
     std::back_insert_iterator<std::string> out(str);
     generate(out,
- '(' << double_ << ", " << double_ << ')', // generator grammar (format description)
+ '(' << karma::double_ << ", " << karma::double_ << ')', // generator grammar (format description)
         p); // data to use as the attribute
 
 where the first element of the pair passed in as the data to generate is still
@@ -215,8 +215,8 @@
       using /Spirit's/ multi-attribute API function:
       ``
           double d1 = 0.0, d2 = 0.0;
- qi::parse(begin, end, '(' >> double_ >> ", " >> double_ << ')', d1, d2);
- karma::generate(out, '(' << double_ << ", " << double_ << ')', d1, d2);
+ qi::parse(begin, end, '(' >> qi::double_ >> ", " >> qi::double_ << ')', d1, d2);
+ karma::generate(out, '(' << karma::double_ << ", " << karma::double_ << ')', d1, d2);
       ``
       which provides a clear and comfortable syntax, more similar to the
       placeholder based syntax as exposed by `printf` or `boost::format`.

Modified: trunk/libs/spirit/doc/advanced/customization_points.qbk
==============================================================================
--- trunk/libs/spirit/doc/advanced/customization_points.qbk (original)
+++ trunk/libs/spirit/doc/advanced/customization_points.qbk 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -6,21 +6,6 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ===============================================================================/]
 
-[def __customize_is_container__ [link spirit.advanced.customize.is_container `is_container`]]
-[def __customize_transform_attribute__ [link spirit.advanced.customize.transform `transform_attribute`]]
-[def __customize_optional_attribute__ [link spirit.advanced.customize.optional `optional_attribute`]]
-[def __customize_assign_to__ [link spirit.advanced.customize.assign_to `assign_to`]]
-[def __customize_push_back_container__ [link spirit.advanced.customize.store_value.push_back `push_back_container`]]
-[def __customize_container_value__ [link spirit.advanced.customize.store_value.container_value `container_value`]]
-[def __customize_clear_value__ [link spirit.advanced.customize.clear_value `clear_value`]]
-[def __customize_extract_from__ [link spirit.advanced.customize.extract_from `extract_from`]]
-[def __customize_container_iterator__ [link spirit.advanced.customize.iterate.container_iterator `container_iterator`]]
-[def __customize_begin_container__ [link spirit.advanced.customize.iterate.begin_container `begin_container`]]
-[def __customize_end_container__ [link spirit.advanced.customize.iterate.end_container `end_container`]]
-[def __customize_next_iterator__ [link spirit.advanced.customize.iterate.next_iterator `next_iterator`]]
-[def __customize_deref_iterator__ [link spirit.advanced.customize.iterate.deref_iterator `deref_iterator`]]
-[def __customize_compare_iterators__ [link spirit.advanced.customize.iterate.compare_iterators `compare_iterators`]]
-
 [section:customize Customization of Spirit's Attribute Handling]
 
 [heading Why do we need Attribute Customization Points]
@@ -121,7 +106,7 @@
 
 [table
     [[Parameter] [Description] [Default]]
- [[`Container`] [The type, `Container` needs to
+ [[`Container`] [The type, `Container` which needs to
                              be tested whether it has to be treated
                              as a container] [none]]
     [[`Enable`] [Helper template parameter usable to selectively
@@ -142,10 +127,10 @@
 
 [table
     [[Expression] [Semantics]]
- [[`is_container<C>::type`] [Metafunction that evaluates to `mpl::true_`
- if a given type, `C`, is to be treated as a
- container, `mpl::false_` otherwise (See
- __mpl_boolean_constant__).]]
+ [[`is_container<C>::type`] [Result of the metafunction that evaluates to
+ `mpl::true_` if a given type, `C`, is to be
+ treated as a container, `mpl::false_` otherwise
+ (See __mpl_boolean_constant__).]]
 ]
 
 [heading Predefined Specializations]
@@ -177,7 +162,7 @@
 container. It is applicable for parsers (__qi__) and generators (__karma__).
 As a rule of thumb: it has to be implemented whenever a certain type
 is to be passed as an attribute to a parser or a generator normally exposing a
-STL container and if the type does not expose the interface of a STL container
+STL container, `C` and if the type does not expose the interface of a STL container
 (i.e. `is_container<C>::type` would normally return `mpl::false_`). These
 components have an attribute propagation rule in the form:
 
@@ -194,30 +179,34 @@
     [[Name] [When to implement]]
     [[__customize_container_value__] [Needs to be implemented whenever `is_container` is implemented.]]
     [[__customize_push_back_container__] [Qi: __qi_list__, __qi_kleene__, __qi_plus__, [qi_repeat Repeat].]]
- [[`container_iterator`] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
- [[`begin_container`] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
- [[`end_container`] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
- [[`deref_iterator`] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
- [[`next_iterator`] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
- [[`compare_iterators`] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
 ]
 
 [heading Example]
 
 TBD
 
-[endsect]
+[endsect] [/ is_container]
 
 [/////////////////////////////////////////////////////////////////////////////]
 [section:transform Transform an Attribute to a Different Type (Qi and Karma)]
 
 [heading transform_attribute]
 
-Short description here...
+The template `transform_attribute` is a type used as an attribute customization
+point. It is invoked by /Qi/ `rule` and `attr_cast`, and /Karma/ `rule` and
+[karma_attr_cast `attr_cast`]. It is used to automatically transform the user
+provided attribute to the attribute type expected by the right hand side
+component (for `rule`) or the embedded component (for `attr_cast`).
 
 [heading Module Headers]
 
- #include <boost/spirit/xxx.hpp>
+ #include <boost/spirit/home/support/attributes.hpp>
 
 Also, see __include_structure__.
 
@@ -229,69 +218,125 @@
 
 [table
     [[Name]]
- [[`boost::spirit::xxx`]]
+ [[`boost::spirit::traits`]]
 ]
 
 [heading Synopsis]
 
- template <typename T>
- struct XXX;
+ template <typename Exposed, typename Transformed, typename Enable>
+ struct transform_attribute;
 
 [heading Template parameters]
 
 [table
     [[Parameter] [Description] [Default]]
- [[`T`] [What is T] []]
+ [[`Exposed`] [The attribute type supplied to the component
+ which needs to be transformed.] [none]]
+ [[`Transformed`] [The attribute type expected by the component
+ to be provided as the result of the transformation.] [none]]
+ [[`Enable`] [Helper template parameter usable to selectively
+ enable or disable certain specializations
+ of `transform_attribute` utilizing SFINAE (i.e.
+ `boost::enable_if` or `boost::disable_if`).] [`void`]]
 ]
 
 [heading Notation]
 
 [variablelist Notation
- [[`xxx`] [An XXX]]
+ [[`Exposed`] [The type, `Exposed` is the type of the attribute as
+ passed in by the user.]]
+ [[`Transformed`] [The type, `Transformed` is the type of the attribute
+ as passed along to the right hand side of the `rule`
+ (embedded component of `attr_cast`).]]
+ [[`exposed`] [An instance of type `Exposed`.]]
+ [[`transformed`] [An instance of type `Transformed`.]]
 ]
 
 [heading Expression Semantics]
 
-Semantics of an expression is defined only where it differs from, or is not
-defined in _concept-of_XXX_.
-
 [table
     [[Expression] [Semantics]]
- [[`xxx`] [Semantics of `xxx`]]
+ [[`transform_attribute<Exposed, Transformed>::type`]
+ [Evaluates to the type to be used as the result of the
+ transformation (to be passed to the right hand side of
+ the `rule` or to the embedded component of the
+ `attr_cast`. Most of the time this is equal to
+ `Transformed`, but in other cases this might evaluate to
+ `Transformed&` instead avoiding superfluous object
+ creation.]]
+ [[
+``type transform_attribute<Exposed, Transformed>::pre(exposed)``]
+ [Do `pre`-transformation before invoking the right hand
+ side component for `rule` (or the embedded component
+ for `attr_cast`). This takes the attribute supplied as by
+ the user (of type `Exposed`) and returns the attribute
+ to be passed down the component hierarchy (of the type
+ as exposed by the metafunction `type`). This function
+ will be called in /Qi/ and for /Karma/.]]
+ [[
+``void transform_attribute<Exposed, Transformed>::post(exposed, transformed)``]
+ [Do `post`-transformation after the invocation of the
+ right hand side component for `rule` (or the embedded
+ component for `attr_cast`). This takes the original
+ attribute as supplied by the user and the attribute
+ as returned from the right hand side (embedded)
+ component and is expected to propagate the result back
+ into the supplied attribute instance. This function
+ will be called in /Qi/ only.]]
 ]
 
 [heading Predefined Specializations]
 
 [table
- [[Type] [Condition]]
- [[`xxx`] [when does it evaluate to mpl::true_]]
+ [[Template parameters] [Semantics]]
+ [[`Exposed`, `Transformed`] [`type` evaluates to `Transformed`,
+ `pre()` returns a new instance of `Transformed`
+ constructed from the argument of type `Exposed`,
+ `post()` assigns `transformed` to `exposed`.]]
+ [[`Exposed&`, `Transformed`] [`type` evaluates to `Transformed`,
+ `pre()` returns a new instance of `Transformed`
+ constructed from the argument of type `Exposed`,
+ `post()` assigns `transformed` to `exposed`.]]
+ [[`Attrib&`, `Attrib`] [`type` evaluates to `Attrib&`,
+ `pre()` returns it's argument, `post()` does
+ nothing.]]
+ [[`Exposed const`, `Transformed`] [(usind in /Karma/ only) `type` evaluates to
+ `Transformed`, `pre()` returns it's argument,
+ `post()` is not implemented.]]
+ [[`Attrib const&`, `Attrib`] [(usind in /Karma/ only) `type` evaluates to `Attrib const&`,
+ `pre()` returns it's argument, `post()` is not
+ implemented.]]
+ [[`Attrib const`, `Attrib`] [(usind in /Karma/ only) `type` evaluates to `Attrib const&`,
+ `pre()` returns it's argument, `post()` is not
+ implemented.]]
+ [[__unused_type__, `Attrib`] [`type` evaluates to __unused_type__, `pre()`
+ and `post()` do nothing.]]
+ [[`Attrib`, __unused_type__] [`type` evaluates to __unused_type__, `pre()`
+ and `post()` do nothing.]]
 ]
 
 [heading When to implement]
 
-Describe when this customization point needs to be implemented by the user.
-
-[heading Related Attribute Customization Points]
-
-If this customization point is implemented, the following other customization
-points need to be implemented as well.
-
-[table
- [[Name] [When to implement]]
-]
+The customization point `transform_attribute` needs to be implemented for a
+specific pair of types whenever the attribute type supplied to a `rule` or
+`attr_cast` cannot automatically transformed to the attribute type expected by
+the right hand side of the `rule` (embedded component of the `attr_cast`)
+because the default implementation as shown above is not applicable. Examples
+for this could be that the type `Transformed` is not constructible from
+the type `Exposed`.
 
 [heading Example]
 
 TBD
 
-[endsect]
+[endsect] [/ transform]
 
 [/////////////////////////////////////////////////////////////////////////////]
 [/ section:optional Handling of Optional Attributes (Qi and Karma)]
 
 [/ optional_attribute]
 
-[/ endsect]
+[/ endsect] [/ optional]
 
 [/////////////////////////////////////////////////////////////////////////////]
 [section:assign_to Store a Parsed Attribute Value (Qi)]
@@ -373,7 +418,7 @@
 [heading Predefined Specializations]
 
 [table
- [[Type] [Semantics]]
+ [[Template Parameters] [Semantics]]
     [[`Attrib`, `Iterator`] [Execute an assignment `attr = Attrib(begin, end)`.]]
     [[__unused_type__, `T`] [Do nothing.]]
 ]
@@ -389,7 +434,7 @@
 
 TBD
 
-[endsect]
+[endsect] [/ assign_to_attribute_from_iterators]
 
 [section:assign_to_attribute_from_value Store an Attribute Value after a Parser Produced a Value (Qi)]
 
@@ -458,7 +503,7 @@
 [heading Predefined Specializations]
 
 [table
- [[Type] [Semantics]]
+ [[Template Parameters] [Semantics]]
     [[`Attrib`, `T`] [Assign the argument `t` to `attr`.]]
     [[__unused_type__, `T`] [Do nothing.]]
 ]
@@ -474,9 +519,9 @@
 
 TBD
 
-[endsect]
+[endsect] [/ assign_to_attribute_from_value]
 
-[endsect]
+[endsect] [/ assign_to]
 
 [/////////////////////////////////////////////////////////////////////////////]
 [section:store_value Store Parsed Attribute Values into a Container (Qi)]
@@ -596,7 +641,7 @@
 
 TBD
 
-[endsect]
+[endsect] [/ container_value]
 
 [section:push_back Store a Parsed Attribute Value into a Container (Qi)]
 
@@ -727,9 +772,9 @@
 
 TBD
 
-[endsect]
+[endsect] [/ push_back]
 
-[endsect]
+[endsect] [/ store_value]
 
 [/////////////////////////////////////////////////////////////////////////////]
 [section:clear_value Re-Initialize an Attribute Value before Parsing (Qi)]
@@ -828,20 +873,18 @@
 
 TBD
 
-[endsect]
+[endsect] [/ clear_value]
 
 [/////////////////////////////////////////////////////////////////////////////]
 [section:extract_from Extract an Attribute Value to Generate Output (Karma)]
 
 [heading extract_from]
 
-Before generating output for an value this value needs to extracted from the
+Before generating output for a value this value needs to extracted from the
 attribute instance provided by the user. The customization point
 `extract_from` is utilized to adapt this extraction for any data type possibly
 used to store the values to output.
 
-Short description here...
-
 [heading Module Headers]
 
     #include <boost/spirit/home/karma/detail/extract_from.hpp>
@@ -885,9 +928,6 @@
 
 [heading Expression Semantics]
 
-Semantics of an expression is defined only where it differs from, or is not
-defined in _concept-of_XXX_.
-
 [table
     [[Expression] [Semantics]]
     [[
@@ -931,30 +971,500 @@
 
 TBD
 
-[endsect]
+[endsect] [/ extract_from]
 
 [/////////////////////////////////////////////////////////////////////////////]
-[/ section:iterate Extract Attribute Values to Generate Output from a Container (Karma)]
+[section:iterate Extract Attribute Values to Generate Output from a Container (Karma)]
+
+[section:container_iterator Determine the Type of the Iterator of a Container (Karma)]
+
+[heading container_iterator]
+
+The template `container_iterator` is a template meta-function used as an attribute
+customization point. It is invoked by the /Karma/ repetitive generators (such
+as __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, and
+[karma_repeat Repeat]) in order to determine the type of the iterator to use to
+iterate over the items to be exposed as the elements of a container.
+
+[heading Module Headers]
+
+ #include <boost/spirit/home/support/container.hpp>
+
+Also, see __include_structure__.
+
+[note This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.]
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::traits`]]
+]
+
+[heading Synopsis]
+
+ template <typename Container, typename Enable>
+ struct container_iterator;
+
+[heading Template parameters]
+
+[table
+ [[Parameter] [Description] [Default]]
+ [[`Container`] [The type, `Container` for which the
+ iterator type has to be returned] [none]]
+ [[`Enable`] [Helper template parameter usable to selectively
+ enable or disable certain specializations
+ of `container_iterator` utilizing SFINAE (i.e.
+ `boost::enable_if` or `boost::disable_if`).] [`void`]]
+]
+
+[heading Notation]
+
+[variablelist
+ [[`C`] [A container type the iterator type needs to be evaluated for.]]
+]
+
+[heading Expression Semantics]
 
-[/ container_iterator]
-[/ endsect]
+[table
+ [[Expression] [Semantics]]
+ [[`container_iterator<C>::type`] [Result of the metafunction that evaluates
+ the type to be used as the iterator for
+ accessing all elements of a container, `C`.]]
+]
+
+The returned type conceptually needs to be equivalent to a standard forward
+iterator. But it does not have to expose the standardized interface. If this
+customization point is implemented for a certain container type, all related
+customization points need to be implemented as well (see
+[link spirit.advanced.customize.iterate.container_iterator.related_attribute_customization_points Related Attribute Customization Points]
+below). This encapsulates the specific iterator interface required for a
+given type. The minimal requirements for a type to be exposed as an iterator in
+this context are:
+
+* it needs to be comparable for equality (see __customize_compare_iterators__),
+* it needs to be incrementable (see __customize_next_iterator__),
+* it needs to be dereferencible (see __customize_deref_iterator__).
 
-[/ begin_container]
-[/ endsect]
+[heading Predefined Specializations]
 
-[/ end_container]
-[/ endsect]
+__spirit__ predefines specializations of this customization point for
+several types. The following table lists those types together with the
+types returned by the embedded typedef `type`:
 
-[/ next_iterator]
-[/ endsect]
+[table
+ [[Template Parameters] [Value]]
+ [[`C`] [Returns `C::iterator`.]]
+ [[`C const`] [Returns `C::const_iterator`.]]
+ [[__unused_type__] [Returns `unused_type const*`.]]
+]
 
-[/ deref_iterator]
-[/ endsect]
+[heading When to implement]
+
+The customization point `container_iterator` needs to be implemented for a specific
+type whenever this type is to be used as an attribute in place of a STL
+container. It is applicable for generators (__karma__) only. As a rule of thumb:
+it has to be implemented whenever a certain type is to be passed as an attribute
+to a generator normally exposing a STL container, `C` and if the type does not expose
+the interface of a STL container (i.e. `is_container<C>::type` would normally
+return `mpl::false_`).
+
+[heading Related Attribute Customization Points]
+
+If this customization point is implemented, the following other customization
+points need to be implemented as well.
+
+[table
+ [[Name] [When to implement]]
+ [[__customize_is_container__] [Needs to be implemented whenever a type is to be used as a container attribute in /Karma/.]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+]
+
+[heading Example]
+
+TBD
+
+[endsect] [/ container_iterator]
+
+
+[section:begin_container Get the Iterator pointing to the Begin of a Container Attribute]
+
+[heading begin_container]
+
+The template `begin_container` is a type used as an attribute customization point.
+It is invoked by the /Karma/ repetitive generators (such as __karma_list__,
+[karma_kleene Kleene (unary `*`)], __karma_plus__, and [karma_repeat Repeat])
+in order to get an iterator pointing to the first element of the container
+holding the attributes to generate output from.
+
+[heading Module Headers]
+
+ #include <boost/spirit/home/support/container.hpp>
+
+Also, see __include_structure__.
+
+[note This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.]
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::traits`]]
+]
+
+[heading Synopsis]
+
+ template <typename Container, typename Enable>
+ struct begin_container;
+
+[heading Template parameters]
+
+[table
+ [[Parameter] [Description] [Default]]
+ [[`Container`] [The type, `Container` for which the iterator pointing
+ to the first element has to be returned] [none]]
+ [[`Enable`] [Helper template parameter usable to selectively
+ enable or disable certain specializations
+ of `begin_container` utilizing SFINAE (i.e.
+ `boost::enable_if` or `boost::disable_if`).] [`void`]]
+]
+
+[heading Notation]
+
+[variablelist
+ [[`C`] [A container type the begin iterator needs to be returned for.]]
+ [[`c`] [An instance of a container, `C`.]]
+]
+
+[heading Expression Semantics]
+
+[table
+ [[Expression] [Semantics]]
+ [[`begin_container<C>::call(c)`] [Return the iterator usable to dereference
+ the first element of the given container,
+ `c`. The type of the returned iterator is
+ expected to be the same as the type returned
+ by the customization point
+ __customize_container_iterator__.]]
+]
+
+The returned instance conceptually needs to be equivalent to a standard forward
+iterator. But it does not have to expose the standardized interface. If this
+customization point is implemented for a certain container type, all related
+customization points need to be implemented as well (see
+[link spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points Related Attribute Customization Points]
+below). This encapsulates the specific iterator interface required for a
+given type. The minimal requirements for a type to be exposed as an iterator in
+this context are:
+
+* it needs to be comparable for equality (see __customize_compare_iterators__),
+* it needs to be incrementable (see __customize_next_iterator__),
+* it needs to be dereferencible (see __customize_deref_iterator__).
+
+[heading Predefined Specializations]
+
+__spirit__ predefines specializations of this customization point for
+several types. The following table lists those types together with the
+types returned by the embedded typedef `type`:
+
+[table
+ [[Template Parameters] [Value]]
+ [[`C`] [Returns `c.begin()`.]]
+ [[`C const`] [Returns `c.begin()`.]]
+ [[__unused_type__] [Returns `&unused`.]]
+]
+
+[heading When to implement]
+
+The customization point `begin_container` needs to be implemented for a specific
+type whenever this type is to be used as an attribute in place of a STL
+container. It is applicable for generators (__karma__) only. As a rule of thumb:
+it has to be implemented whenever a certain type is to be passed as an attribute
+to a generator normally exposing a STL container, `C` and if the type does not expose
+the interface of a STL container (i.e. `is_container<C>::type` would normally
+return `mpl::false_`).
+
+[heading Related Attribute Customization Points]
+
+If this customization point is implemented, the following other customization
+points need to be implemented as well.
+
+[table
+ [[Name] [When to implement]]
+ [[__customize_is_container__] [Needs to be implemented whenever a type is to be used as a container attribute in /Karma/.]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+]
+
+[heading Example]
+
+TBD
+
+[endsect] [/ begin_container]
+
+
+[section:end_container Get the Iterator pointing to the End of a Container Attribute]
+
+[heading end_container]
+
+The template `end_container` is a type used as an attribute customization point.
+It is invoked by the /Karma/ repetitive generators (such as __karma_list__,
+[karma_kleene Kleene (unary `*`)], __karma_plus__, and [karma_repeat Repeat])
+in order to get an iterator pointing to the end of the container
+holding the attributes to generate output from.
+
+[heading Module Headers]
+
+ #include <boost/spirit/home/support/container.hpp>
+
+Also, see __include_structure__.
+
+[note This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.]
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::traits`]]
+]
+
+[heading Synopsis]
+
+ template <typename Container, typename Enable>
+ struct end_container;
+
+[heading Template parameters]
+
+[table
+ [[Parameter] [Description] [Default]]
+ [[`Container`] [The type, `Container` for which the iterator pointing
+ to the first element has to be returned] [none]]
+ [[`Enable`] [Helper template parameter usable to selectively
+ enable or disable certain specializations
+ of `end_container` utilizing SFINAE (i.e.
+ `boost::enable_if` or `boost::disable_if`).] [`void`]]
+]
+
+[heading Notation]
+
+[variablelist
+ [[`C`] [A container type the end iterator needs to be returned for.]]
+ [[`c`] [An instance of a container, `C`.]]
+]
+
+[heading Expression Semantics]
+
+[table
+ [[Expression] [Semantics]]
+ [[`end_container<C>::call(c)`] [Return the iterator usable to compare a
+ different iterator with in order to detect
+ whether the other iterator reached the end
+ of the given container, `c`. The type of
+ the returned iterator is expected to be the
+ same as the type returned by the
+ customization point __customize_container_iterator__.]]
+]
+
+[heading Predefined Specializations]
+
+__spirit__ predefines specializations of this customization point for
+several types. The following table lists those types together with the
+types returned by the embedded typedef `type`:
+
+[table
+ [[Template Parameters] [Value]]
+ [[`C`] [Returns `c.end()`.]]
+ [[`C const`] [Returns `c.end()`.]]
+ [[__unused_type__] [Returns `&unused`.]]
+]
+
+[heading When to implement]
+
+The customization point `end_container` needs to be implemented for a specific
+type whenever this type is to be used as an attribute in place of a STL
+container. It is applicable for generators (__karma__) only. As a rule of thumb:
+it has to be implemented whenever a certain type is to be passed as an attribute
+to a generator normally exposing a STL container, `C` and if the type does not expose
+the interface of a STL container (i.e. `is_container<C>::type` would normally
+return `mpl::false_`).
+
+[heading Related Attribute Customization Points]
+
+If this customization point is implemented, the following other customization
+points need to be implemented as well.
+
+[table
+ [[Name] [When to implement]]
+ [[__customize_is_container__] [Needs to be implemented whenever a type is to be used as a container attribute in /Karma/.]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+]
+
+[heading Example]
+
+TBD
+
+[endsect] [/ end_container]
+
+
+[section:next_iterator Increment the Iterator pointing into a Container Attribute]
+
+[heading next_iterator]
+
+Short description here...
+
+[heading Module Headers]
+
+ #include <boost/spirit/home/support/container.hpp>
+
+Also, see __include_structure__.
+
+[note This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.]
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::traits`]]
+]
+
+
+[heading Related Attribute Customization Points]
+
+If this customization point is implemented, the following other customization
+points need to be implemented as well.
+
+[table
+ [[Name] [When to implement]]
+ [[__customize_is_container__] [Needs to be implemented whenever a type is to be used as a container attribute in /Karma/.]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+]
+
+[heading Example]
+
+TBD
+
+[endsect] [/ next_iterator]
+
+
+[section:deref_iterator Dereference the Iterator pointing into a Container Attribute]
+
+[heading deref_iterator]
+
+Short description here...
+
+[heading Module Headers]
+
+ #include <boost/spirit/home/support/container.hpp>
+
+Also, see __include_structure__.
+
+[note This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.]
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::traits`]]
+]
+
+[heading Related Attribute Customization Points]
+
+If this customization point is implemented, the following other customization
+points need to be implemented as well.
+
+[table
+ [[Name] [When to implement]]
+ [[__customize_is_container__] [Needs to be implemented whenever a type is to be used as a container attribute in /Karma/.]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+]
+
+[heading Example]
+
+TBD
+
+[endsect] [/ deref_iterator]
+
+
+[section:compare_iterators Compare two Iterator pointing into a Container Attribute for Equality]
+
+[heading compare_iterators]
+
+Short description here...
+
+[heading Module Headers]
+
+ #include <boost/spirit/home/support/container.hpp>
+
+Also, see __include_structure__.
+
+[note This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.]
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::traits`]]
+]
+
+[heading Related Attribute Customization Points]
+
+If this customization point is implemented, the following other customization
+points need to be implemented as well.
+
+[table
+ [[Name] [When to implement]]
+ [[__customize_is_container__] [Needs to be implemented whenever a type is to be used as a container attribute in /Karma/.]]
+ [[__customize_container_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_begin_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_end_container__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_deref_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_next_iterator__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+ [[__customize_compare_iterators__] [Karma: __karma_list__, [karma_kleene Kleene (unary `*`)], __karma_plus__, [karma_repeat Repeat].]]
+]
+
+[heading Example]
+
+TBD
 
-[/ compare_iterators]
-[/ endsect]
+[endsect] [/ compare_iterators]
 
-[/ endsect]
+[endsect] [/ iterate]
 
-[endsect]
+[endsect] [/ customize]
 

Modified: trunk/libs/spirit/doc/html/index.html
==============================================================================
--- trunk/libs/spirit/doc/html/index.html (original)
+++ trunk/libs/spirit/doc/html/index.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Spirit 2.1</title>
 <link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="index.html" title="Spirit 2.1">
 <link rel="next" href="spirit/preface.html" title="Preface">
 </head>
@@ -18,7 +18,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav"><a accesskey="n" href="spirit/preface.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
-<div class="article" lang="en">
+<div class="article" title="Spirit 2.1">
 <div class="titlepage">
 <div>
 <div><h2 class="title">
@@ -33,12 +33,13 @@
 </div></div>
 <div><p class="copyright">Copyright © 2001-2009 Joel
       de Guzman, Hartmut Kaiser</p></div>
-<div><div class="legalnotice"><p>
+<div><div class="legalnotice" title="Legal Notice">
+<a name="id592350"></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></div></div>
+ </p>
+</div></div>
 </div>
-<div></div>
 <hr>
 </div>
 <div class="toc">
@@ -231,6 +232,8 @@
         an Attribute Value before Parsing (Qi)</a></span></dt>
 <dt><span class="section"><a href="spirit/advanced/customize/extract_from.html"> Extract an
         Attribute Value to Generate Output (Karma)</a></span></dt>
+<dt><span class="section"><a href="spirit/advanced/customize/iterate.html"> Extract Attribute
+ Values to Generate Output from a Container (Karma)</a></span></dt>
 </dl></dd>
 </dl></dd>
 <dt><span class="section"> Supporting libraries</span></dt>
@@ -254,7 +257,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: October 13, 2009 at 03:00:39 GMT</small></p></td>
+<td align="left"><p><small>Last revised: October 13, 2009 at 16:11:18 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/spirit/doc/html/spirit/abstracts.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -3,10 +3,10 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Abstracts</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../index.html" title="Spirit 2.1">
 <link rel="up" href="../index.html" title="Spirit 2.1">
-<link rel="previous" href="structure/include.html" title="Include">
+<link rel="prev" href="structure/include.html" title="Include">
 <link rel="next" href="abstracts/syntax_diagram.html" title="Syntax Diagram">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,13 +22,10 @@
 <div class="spirit-nav">
 <a accesskey="p" href="structure/include.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="abstracts/syntax_diagram.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h2 class="title" style="clear: both">
-<a name="spirit.abstracts"></a>Abstracts
-</h2></div></div>
-<div></div>
-</div>
+<div class="section" title="Abstracts">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="spirit.abstracts"></a><a class="link" href="abstracts.html" title="Abstracts">Abstracts</a>
+</h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Syntax Diagram</span></dt>
 <dt><span class="section"><a href="abstracts/parsing_expression_grammar.html">Parsing

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/attributes.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,15 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Attributes</title>
+<title>Attributes</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../index.html" title="Spirit 2.1">
 <link rel="up" href="../abstracts.html" title="Abstracts">
-<link rel="previous" href="parsing_expression_grammar.html" title="Parsing
- Expression Grammar">
-<link rel="next" href="attributes/primitive_attributes.html" title="
- Attributes of Primitive Components">
+<link rel="prev" href="parsing_expression_grammar.html" title="Parsing Expression Grammar">
+<link rel="next" href="attributes/primitive_attributes.html" title="Attributes of Primitive Components">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -24,13 +22,10 @@
 <div class="spirit-nav">
 <a accesskey="p" href="parsing_expression_grammar.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="attributes/primitive_attributes.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h3 class="title">
-<a name="spirit.abstracts.attributes"></a> Attributes
-</h3></div></div>
-<div></div>
-</div>
+<div class="section" title="Attributes">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="spirit.abstracts.attributes"></a><a class="link" href="attributes.html" title="Attributes"> Attributes</a>
+</h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="attributes/primitive_attributes.html">
         Attributes of Primitive Components</a></span></dt>

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,16 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Attributes
- of Compound Components</title>
+<title>Attributes of Compound Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../attributes.html" title=" Attributes">
-<link rel="previous" href="primitive_attributes.html" title="
- Attributes of Primitive Components">
-<link rel="next" href="more_sompound_attributes.html" title="
- More About Attributes of Compound Components">
+<link rel="up" href="../attributes.html" title="Attributes">
+<link rel="prev" href="primitive_attributes.html" title="Attributes of Primitive Components">
+<link rel="next" href="more_sompound_attributes.html" title="More About Attributes of Compound Components">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -25,15 +22,11 @@
 <div class="spirit-nav">
 <a accesskey="p" href="primitive_attributes.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../attributes.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="more_sompound_attributes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.abstracts.attributes.compound_attributes"></a><a href="compound_attributes.html" title=" Attributes
- of Compound Components"> Attributes
+<div class="section" title="Attributes of Compound Components">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.abstracts.attributes.compound_attributes"></a><a class="link" href="compound_attributes.html" title="Attributes of Compound Components"> Attributes
         of Compound Components</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <p>
           <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span> implement
           well defined attribute type propagation rules for all compound generators,
@@ -46,39 +39,51 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Library
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Sequence attribute propagation rule
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
+<td>
+ <p>
                   Qi
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
                   <span class="identifier">A</span><span class="special">,</span>
                   <span class="identifier">b</span><span class="special">:</span>
                   <span class="identifier">B</span> <span class="special">--&gt;</span>
                   <span class="special">(</span><span class="identifier">a</span>
- <span class="special">&gt;&gt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></tt>
- </p></td>
+ <span class="special">&gt;&gt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
+<td>
+ <p>
                   Karma
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
                   <span class="identifier">A</span><span class="special">,</span>
                   <span class="identifier">b</span><span class="special">:</span>
                   <span class="identifier">B</span> <span class="special">--&gt;</span>
                   <span class="special">(</span><span class="identifier">a</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></tt>
- </p></td>
+ <span class="special">&lt;&lt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
@@ -89,36 +94,36 @@
 <p>
             </p>
 <p>
- Given <tt class="computeroutput"><span class="identifier">a</span></tt> and <tt class="computeroutput"><span class="identifier">b</span></tt> are parsers (generators), and
- <tt class="computeroutput"><span class="identifier">A</span></tt> is the attribute
- type of <tt class="computeroutput"><span class="identifier">a</span></tt>, and <tt class="computeroutput"><span class="identifier">B</span></tt> is the attribute type of <tt class="computeroutput"><span class="identifier">b</span></tt>, then the attribute type of <tt class="computeroutput"><span class="identifier">a</span> <span class="special">&gt;&gt;</span>
- <span class="identifier">b</span></tt> (<tt class="computeroutput"><span class="identifier">a</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">b</span></tt>)
- will be <tt class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></tt>.
+ Given <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">b</span></code> are parsers (generators), and
+ <code class="computeroutput"><span class="identifier">A</span></code> is the attribute
+ type of <code class="computeroutput"><span class="identifier">a</span></code>, and <code class="computeroutput"><span class="identifier">B</span></code> is the attribute type of <code class="computeroutput"><span class="identifier">b</span></code>, then the attribute type of <code class="computeroutput"><span class="identifier">a</span> <span class="special">&gt;&gt;</span>
+ <span class="identifier">b</span></code> (<code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">b</span></code>)
+ will be <code class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>.
             </p>
 <p>
           </p>
 </blockquote></div>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
- The notation <tt class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></tt>
+<tr><td align="left" valign="top"><p>
+ The notation <code class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code>
             is used as a placeholder expression for any fusion sequence holding the
- types A and B, such as <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></tt> or <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></tt> (for more information see Boost.Fusion).
+ types A and B, such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&gt;</span></code> (for more information see Boost.Fusion).
           </p></td></tr>
 </table></div>
 <p>
           As you can see, in order for a type to be compatible with the attribute
           type of a compound expression it has to
         </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
             either be convertible to the attribute type,
           </li>
-<li>
+<li class="listitem">
             or it has to expose certain functionalities, i.e. it needs to conform
             to a concept compatible with the component.
           </li>
@@ -126,17 +131,15 @@
 <p>
           Each compound component implements its own set of attribute propagation
           rules. For a full list of how the different compound generators consume
- attributes see the sections <a href="../../qi/quick_reference/compound_attribute_rules.html" title="Compound
- Attribute Rules">Parser
- Compound Attribute Rules</a> and <a href="../../karma/quick_reference/compound_attribute_rules.html" title="Compound
- Attribute Rules">Generator
+ attributes see the sections <a class="link" href="../../qi/quick_reference/compound_attribute_rules.html" title="Compound Attribute Rules">Parser
+ Compound Attribute Rules</a> and <a class="link" href="../../karma/quick_reference/compound_attribute_rules.html" title="Compound Attribute Rules">Generator
           Compound Attribute Rules</a>.
         </p>
-<a name="spirit.abstracts.attributes.compound_attributes.the_attribute_of_sequence_parsers_and_generators"></a><h5>
-<a name="id417507"></a>
- <a href="compound_attributes.html#spirit.abstracts.attributes.compound_attributes.the_attribute_of_sequence_parsers_and_generators">The
+<a name="spirit.abstracts.attributes.compound_attributes.the_attribute_of_sequence_parsers_and_generators"></a><h6>
+<a name="id604174"></a>
+ <a class="link" href="compound_attributes.html#spirit.abstracts.attributes.compound_attributes.the_attribute_of_sequence_parsers_and_generators">The
           Attribute of Sequence Parsers and Generators</a>
- </h5>
+ </h6>
 <p>
           Sequences require an attribute type to expose the concept of a fusion sequence,
           where all elements of that fusion sequence have to be compatible with the
@@ -148,51 +151,63 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Library
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Sequence expression
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
+<td>
+ <p>
                   Qi
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="identifier">double_</span> <span class="special">&gt;&gt;</span>
- <span class="identifier">double_</span></tt>
- </p></td>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">double_</span> <span class="special">&gt;&gt;</span>
+ <span class="identifier">double_</span></code>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
+<td>
+ <p>
                   Karma
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="identifier">double_</span> <span class="special">&lt;&lt;</span>
- <span class="identifier">double_</span></tt>
- </p></td>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">double_</span> <span class="special">&lt;&lt;</span>
+ <span class="identifier">double_</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <p>
           is compatible any fusion sequence holding two types, where both types have
- to be compatible to <tt class="computeroutput"><span class="keyword">double</span></tt>.
+ to be compatible to <code class="computeroutput"><span class="keyword">double</span></code>.
           The first element of the fusion sequence has to be compatible with the
- attribute of the first <tt class="computeroutput"><span class="identifier">double_</span></tt>,
+ attribute of the first <code class="computeroutput"><span class="identifier">double_</span></code>,
           and the second element of the fusion sequence has to be compatible with
- the attribute of the second <tt class="computeroutput"><span class="identifier">double_</span></tt>.
- If we assume to have an instance of a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span></tt>, we can directly use the expressions
+ the attribute of the second <code class="computeroutput"><span class="identifier">double_</span></code>.
+ If we assume to have an instance of a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span></code>, we can directly use the expressions
           above to do both, parse input to fill the attribute:
         </p>
 <pre class="programlisting"><span class="comment">// the following parses "1.0 2.0" into a pair of double
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">input</span><span class="special">(</span><span class="string">"1.0 2.0"</span><span class="special">);</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">p</span><span class="special">;</span>
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">input</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(),</span>
- <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">,</span> <span class="comment">// parser grammar
-</span> <span class="identifier">ascii</span><span class="special">::</span><span class="identifier">space</span><span class="special">,</span> <span class="comment">// delimiter grammar
-</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// attribute to fill while parsing
+<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span><span class="special">,</span> <span class="comment">// parser grammar
+</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">space</span><span class="special">,</span> <span class="comment">// delimiter grammar
+</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// attribute to fill while parsing
 </span></pre>
 <p>
           and generate output for it:
@@ -201,45 +216,45 @@
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">str</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">double_</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span><span class="special">,</span> <span class="comment">// generator grammar (format description)
-</span> <span class="identifier">ascii</span><span class="special">::</span><span class="identifier">space</span><span class="special">,</span> <span class="comment">// delimiter grammar
-</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// data to use as the attribute
+ <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">,</span> <span class="comment">// generator grammar (format description)
+</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">space</span><span class="special">,</span> <span class="comment">// delimiter grammar
+</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// data to use as the attribute
 </span></pre>
 <p>
- (where the <tt class="computeroutput"><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">space</span></tt> generator is used as the delimiter,
+ (where the <code class="computeroutput"><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">space</span></code> generator is used as the delimiter,
           allowing to automatically skip/insert delimiting spaces in between all
           primitives).
         </p>
-<div class="tip"><table border="0" summary="Tip">
+<div class="tip" title="Tip"><table border="0" summary="Tip">
 <tr>
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
 <th align="left">Tip</th>
 </tr>
-<tr><td colspan="2" align="left" valign="top">
+<tr><td align="left" valign="top">
 <p>
- <span class="bold"><b>For sequences only:</b></span> <span class="emphasis"><em>Spirit.Qi</em></span>
+ <span class="bold"><strong>For sequences only:</strong></span> <span class="emphasis"><em>Spirit.Qi</em></span>
             and <span class="emphasis"><em>Spirit.Karma</em></span> expose a set of API functions usable
- mainly with sequences. Very much like the functions of the <tt class="computeroutput"><span class="identifier">scanf</span></tt> and <tt class="computeroutput"><span class="identifier">printf</span></tt>
+ mainly with sequences. Very much like the functions of the <code class="computeroutput"><span class="identifier">scanf</span></code> and <code class="computeroutput"><span class="identifier">printf</span></code>
             families these functions allow to pass the attributes for each of the
             elements of the sequence separately. Using the corresponding overload
- of <span class="emphasis"><em>Qi's</em></span> parse or <span class="emphasis"><em>Karma's</em></span> <tt class="computeroutput"><span class="identifier">generate</span><span class="special">()</span></tt>
+ of <span class="emphasis"><em>Qi's</em></span> parse or <span class="emphasis"><em>Karma's</em></span> <code class="computeroutput"><span class="identifier">generate</span><span class="special">()</span></code>
             the expression above could be rewritten as:
 </p>
 <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">d1</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="identifier">d2</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">;</span>
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">,</span> <span class="identifier">space</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</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">double_</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span><span class="special">,</span> <span class="identifier">space</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</span><span class="special">);</span>
+<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span><span class="special">,</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">space</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</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">karma</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span><span class="special">,</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">space</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</span><span class="special">);</span>
 </pre>
 <p>
- where the first attribute is used for the first <tt class="computeroutput"><span class="identifier">double_</span></tt>,
- and the second attribute is used for the second <tt class="computeroutput"><span class="identifier">double_</span></tt>.
+ where the first attribute is used for the first <code class="computeroutput"><span class="identifier">double_</span></code>,
+ and the second attribute is used for the second <code class="computeroutput"><span class="identifier">double_</span></code>.
           </p>
 </td></tr>
 </table></div>
-<a name="spirit.abstracts.attributes.compound_attributes.the_attribute_of_alternative_parsers_and_generators"></a><h5>
-<a name="id418548"></a>
- <a href="compound_attributes.html#spirit.abstracts.attributes.compound_attributes.the_attribute_of_alternative_parsers_and_generators">The
+<a name="spirit.abstracts.attributes.compound_attributes.the_attribute_of_alternative_parsers_and_generators"></a><h6>
+<a name="id605027"></a>
+ <a class="link" href="compound_attributes.html#spirit.abstracts.attributes.compound_attributes.the_attribute_of_alternative_parsers_and_generators">The
           Attribute of Alternative Parsers and Generators</a>
- </h5>
+ </h6>
 <p>
           Alternative parsers and generators are all about - well - alternatives.
           In order to store possibly different result (attribute) types from the

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/attributes/more_sompound_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/attributes/more_sompound_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/attributes/more_sompound_attributes.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,16 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- More About Attributes of Compound Components</title>
+<title>More About Attributes of Compound Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../attributes.html" title=" Attributes">
-<link rel="previous" href="compound_attributes.html" title=" Attributes
- of Compound Components">
-<link rel="next" href="nonterminal_attributes.html" title="
- Attributes of Rules and Grammars">
+<link rel="up" href="../attributes.html" title="Attributes">
+<link rel="prev" href="compound_attributes.html" title="Attributes of Compound Components">
+<link rel="next" href="nonterminal_attributes.html" title="Attributes of Rules and Grammars">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -25,21 +22,17 @@
 <div class="spirit-nav">
 <a accesskey="p" href="compound_attributes.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../attributes.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="nonterminal_attributes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.abstracts.attributes.more_sompound_attributes"></a><a href="more_sompound_attributes.html" title="
- More About Attributes of Compound Components">
+<div class="section" title="More About Attributes of Compound Components">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.abstracts.attributes.more_sompound_attributes"></a><a class="link" href="more_sompound_attributes.html" title="More About Attributes of Compound Components">
         More About Attributes of Compound Components</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <p>
           While parsing input or generating output it is often desirable to combine
           some constant elements with variable parts. For instance, let us look at
           the example of parsing or formatting a complex number, which is written
- as <tt class="computeroutput"><span class="special">(</span><span class="identifier">real</span><span class="special">,</span> <span class="identifier">imag</span><span class="special">)</span></tt>, where <tt class="computeroutput"><span class="identifier">real</span></tt>
- and <tt class="computeroutput"><span class="identifier">imag</span> </tt> are the variables
+ as <code class="computeroutput"><span class="special">(</span><span class="identifier">real</span><span class="special">,</span> <span class="identifier">imag</span><span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">real</span></code>
+ and <code class="computeroutput"><span class="identifier">imag</span> </code> are the variables
           representing the real and imaginary parts of our complex number. This can
           be achieved by writing:
         </p>
@@ -49,44 +42,56 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Library
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Sequence expression
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
+<td>
+ <p>
                   Qi
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="char">'('</span> <span class="special">&lt;&lt;</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="char">'('</span> <span class="special">&gt;&gt;</span>
                   <span class="identifier">double_</span> <span class="special">&gt;&gt;</span>
- <span class="string">", "</span> <span class="special">&lt;&lt;</span>
+ <span class="string">", "</span> <span class="special">&gt;&gt;</span>
                   <span class="identifier">double_</span> <span class="special">&gt;&gt;</span>
- <span class="char">')'</span></tt>
- </p></td>
+ <span class="char">')'</span></code>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
+<td>
+ <p>
                   Karma
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="char">'('</span> <span class="special">&lt;&lt;</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="char">'('</span> <span class="special">&lt;&lt;</span>
                   <span class="identifier">double_</span> <span class="special">&lt;&lt;</span>
                   <span class="string">", "</span> <span class="special">&lt;&lt;</span>
                   <span class="identifier">double_</span> <span class="special">&lt;&lt;</span>
- <span class="char">')'</span></tt>
- </p></td>
+ <span class="char">')'</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <p>
- Fortunately, literals (such as <tt class="computeroutput"><span class="char">'('</span></tt>
- and <tt class="computeroutput"><span class="string">", "</span></tt>) do <span class="emphasis"><em>not</em></span>
- expose any attribute (well actually, they do expose the special type <tt class="computeroutput"><span class="identifier">unused_type</span></tt>, but in this context <tt class="computeroutput"><span class="identifier">unused_type</span></tt> is interpreted as if the
+ Fortunately, literals (such as <code class="computeroutput"><span class="char">'('</span></code>
+ and <code class="computeroutput"><span class="string">", "</span></code>) do <span class="emphasis"><em>not</em></span>
+ expose any attribute (well actually, they do expose the special type <code class="computeroutput"><span class="identifier">unused_type</span></code>, but in this context <code class="computeroutput"><span class="identifier">unused_type</span></code> is interpreted as if the
           component does not expose any attribute at all). It is very important to
           understand that the literals don't consume any of the elements of a fusion
           sequence passed to this component sequence. As said, they just don't expose
@@ -96,9 +101,9 @@
 <pre class="programlisting"><span class="comment">// the following parses "1.0 2.0" into a pair of double
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">input</span><span class="special">(</span><span class="string">"(1.0, 2.0)"</span><span class="special">);</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">p</span><span class="special">;</span>
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">input</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(),</span>
- <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="string">", "</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="comment">// parser grammar
-</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// attribute to fill while parsing
+<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">input</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">input</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="string">", "</span> <span class="special">&gt;&gt;</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="char">')'</span><span class="special">,</span> <span class="comment">// parser grammar
+</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// attribute to fill while parsing
 </span></pre>
 <p>
           and here is the equivalent <span class="emphasis"><em>Spirit.Karma</em></span> code snippet:
@@ -107,51 +112,50 @@
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_insert_iterator</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">str</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="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="comment">// generator grammar (format description)
+ <span class="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="comment">// generator grammar (format description)
 </span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// data to use as the attribute
 </span></pre>
 <p>
           where the first element of the pair passed in as the data to generate is
- still associated with the first <tt class="computeroutput"><span class="identifier">double_</span></tt>,
- and the second element is associated with the second <tt class="computeroutput"><span class="identifier">double_</span></tt>
+ still associated with the first <code class="computeroutput"><span class="identifier">double_</span></code>,
+ and the second element is associated with the second <code class="computeroutput"><span class="identifier">double_</span></code>
           generator.
         </p>
 <p>
           This behavior should be familiar as it conforms to the way other input
- and output formatting libraries such as <tt class="computeroutput"><span class="identifier">scanf</span></tt>,
- <tt class="computeroutput"><span class="identifier">printf</span></tt> or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span></tt> are handling their variable parts.
+ and output formatting libraries such as <code class="computeroutput"><span class="identifier">scanf</span></code>,
+ <code class="computeroutput"><span class="identifier">printf</span></code> or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span></code> are handling their variable parts.
           In this context you can think about <span class="emphasis"><em>Spirit.Qi</em></span>'s and
           <span class="emphasis"><em>Spirit.Karma</em></span>'s primitive components (such as the
- <tt class="computeroutput"><span class="identifier">double_</span></tt> above) as of being
+ <code class="computeroutput"><span class="identifier">double_</span></code> above) as of being
           typesafe placeholders for the attribute values.
         </p>
-<div class="tip"><table border="0" summary="Tip">
+<div class="tip" title="Tip"><table border="0" summary="Tip">
 <tr>
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
 <th align="left">Tip</th>
 </tr>
-<tr><td colspan="2" align="left" valign="top">
+<tr><td align="left" valign="top">
 <p>
             Similarly to the tip provided above, this example could be rewritten
             using <span class="emphasis"><em>Spirit's</em></span> multi-attribute API function:
 </p>
 <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">d1</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="identifier">d2</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">;</span>
-<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="string">", "</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</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="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</span><span class="special">);</span>
+<span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="char">'('</span> <span class="special">&gt;&gt;</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="string">", "</span> <span class="special">&gt;&gt;</span> <span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</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="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">karma</span><span class="special">::</span><span class="identifier">double_</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">,</span> <span class="identifier">d1</span><span class="special">,</span> <span class="identifier">d2</span><span class="special">);</span>
 </pre>
 <p>
             which provides a clear and comfortable syntax, more similar to the placeholder
- based syntax as exposed by <tt class="computeroutput"><span class="identifier">printf</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span></tt>.
+ based syntax as exposed by <code class="computeroutput"><span class="identifier">printf</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span></code>.
           </p>
 </td></tr>
 </table></div>
 <p>
           Let's take a look at this from a more formal perspective. The sequence
           attribute propagation rules define a special behavior if generators exposing
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt> as their attribute
- are involved (see <a href="../../karma/quick_reference/compound_attribute_rules.html" title="Compound
- Attribute Rules">Generator
+ <code class="computeroutput"><span class="identifier">unused_type</span></code> as their attribute
+ are involved (see <a class="link" href="../../karma/quick_reference/compound_attribute_rules.html" title="Compound Attribute Rules">Generator
           Compound Attribute Rules</a>):
         </p>
 <div class="informaltable"><table class="table">
@@ -160,39 +164,51 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Library
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Sequence attribute propagation rule
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
+<td>
+ <p>
                   Qi
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
                   <span class="identifier">A</span><span class="special">,</span>
                   <span class="identifier">b</span><span class="special">:</span>
                   <span class="identifier">Unused</span> <span class="special">--&gt;</span>
                   <span class="special">(</span><span class="identifier">a</span>
- <span class="special">&gt;&gt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">A</span></tt>
- </p></td>
+ <span class="special">&gt;&gt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">A</span></code>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
+<td>
+ <p>
                   Karma
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
                   <span class="identifier">A</span><span class="special">,</span>
                   <span class="identifier">b</span><span class="special">:</span>
                   <span class="identifier">Unused</span> <span class="special">--&gt;</span>
                   <span class="special">(</span><span class="identifier">a</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">A</span></tt>
- </p></td>
+ <span class="special">&lt;&lt;</span> <span class="identifier">b</span><span class="special">):</span> <span class="identifier">A</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
@@ -203,16 +219,16 @@
 <p>
             </p>
 <p>
- Given <tt class="computeroutput"><span class="identifier">a</span></tt> and <tt class="computeroutput"><span class="identifier">b</span></tt> are parsers (generators), and
- <tt class="computeroutput"><span class="identifier">A</span></tt> is the attribute
- type of <tt class="computeroutput"><span class="identifier">a</span></tt>, and <tt class="computeroutput"><span class="identifier">unused_type</span></tt> is the attribute type
- of <tt class="computeroutput"><span class="identifier">b</span></tt>, then the attribute
- type of <tt class="computeroutput"><span class="identifier">a</span> <span class="special">&gt;&gt;</span>
- <span class="identifier">b</span></tt> (<tt class="computeroutput"><span class="identifier">a</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">b</span></tt>)
- will be <tt class="computeroutput"><span class="identifier">A</span></tt> as well.
+ Given <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">b</span></code> are parsers (generators), and
+ <code class="computeroutput"><span class="identifier">A</span></code> is the attribute
+ type of <code class="computeroutput"><span class="identifier">a</span></code>, and <code class="computeroutput"><span class="identifier">unused_type</span></code> is the attribute type
+ of <code class="computeroutput"><span class="identifier">b</span></code>, then the attribute
+ type of <code class="computeroutput"><span class="identifier">a</span> <span class="special">&gt;&gt;</span>
+ <span class="identifier">b</span></code> (<code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">b</span></code>)
+ will be <code class="computeroutput"><span class="identifier">A</span></code> as well.
               This rule applies regardless of the position the element exposing the
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt> is at.
+ <code class="computeroutput"><span class="identifier">unused_type</span></code> is at.
             </p>
 <p>
           </p>
@@ -220,7 +236,7 @@
 <p>
           This rule is the key to the understanding of the attribute handling in
           sequences as soon as literals are involved. It is as if elements with
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt> attributes
+ <code class="computeroutput"><span class="identifier">unused_type</span></code> attributes
           'disappeared' during attribute propagation. Notably, this is not only true
           for sequences but for any compound components. For instance, for alternative
           componets the corresponding rule is:

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/attributes/nonterminal_attributes.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,15 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- Attributes of Rules and Grammars</title>
+<title>Attributes of Rules and Grammars</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../attributes.html" title=" Attributes">
-<link rel="previous" href="more_sompound_attributes.html" title="
- More About Attributes of Compound Components">
-<link rel="next" href="../../qi.html" title=" Qi - Writing Parsers">
+<link rel="up" href="../attributes.html" title="Attributes">
+<link rel="prev" href="more_sompound_attributes.html" title="More About Attributes of Compound Components">
+<link rel="next" href="../../qi.html" title="Qi - Writing Parsers">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -24,15 +22,11 @@
 <div class="spirit-nav">
 <a accesskey="p" href="more_sompound_attributes.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../attributes.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="../../qi.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.abstracts.attributes.nonterminal_attributes"></a><a href="nonterminal_attributes.html" title="
- Attributes of Rules and Grammars">
+<div class="section" title="Attributes of Rules and Grammars">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.abstracts.attributes.nonterminal_attributes"></a><a class="link" href="nonterminal_attributes.html" title="Attributes of Rules and Grammars">
         Attributes of Rules and Grammars</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <p>
           Nonterminals are well known from parsers where they are used as the main
           means of constructing more complex parsers out of simpler ones. The nonterminals
@@ -46,14 +40,14 @@
         </p>
 <p>
           Both, the types of the inherited and the synthesized attributes have to
- be explicitely specified while defining the particular <tt class="computeroutput"><span class="identifier">grammar</span></tt>
- or the <tt class="computeroutput"><span class="identifier">rule</span></tt> (the Spirit
+ be explicitely specified while defining the particular <code class="computeroutput"><span class="identifier">grammar</span></code>
+ or the <code class="computeroutput"><span class="identifier">rule</span></code> (the Spirit
           <a href="../../../../../repository/doc/html/index.html" target="_top">Repository</a> additionally
- has <tt class="computeroutput"><span class="identifier">subrules</span></tt> which conform
+ has <code class="computeroutput"><span class="identifier">subrules</span></code> which conform
           to a similar interface). As an example, the following code declares a
- <span class="emphasis"><em>Spirit.Qi</em></span> <tt class="computeroutput"><span class="identifier">rule</span></tt>
- exposing an <tt class="computeroutput"><span class="keyword">int</span></tt> as its synthesized
- attribute, while expecting a single <tt class="computeroutput"><span class="keyword">double</span></tt>
+ <span class="emphasis"><em>Spirit.Qi</em></span> <code class="computeroutput"><span class="identifier">rule</span></code>
+ exposing an <code class="computeroutput"><span class="keyword">int</span></code> as its synthesized
+ attribute, while expecting a single <code class="computeroutput"><span class="keyword">double</span></code>
           as its inherited attribute (see the section about the <span class="emphasis"><em>Spirit.Qi</em></span>
           Rule for more information):
         </p>
@@ -74,8 +68,8 @@
           creates its output from. Even if the consumed attribute is not 'returned'
           from the generator we chose to use the same function style declaration
           syntax as used in <span class="emphasis"><em>Spirit.Qi</em></span>. The example below declares
- a <span class="emphasis"><em>Spirit.Karma</em></span> <tt class="computeroutput"><span class="identifier">rule</span></tt>
- consuming a <tt class="computeroutput"><span class="keyword">double</span></tt> while not
+ a <span class="emphasis"><em>Spirit.Karma</em></span> <code class="computeroutput"><span class="identifier">rule</span></code>
+ consuming a <code class="computeroutput"><span class="keyword">double</span></code> while not
           expecting any additional inherited attributes.
         </p>
 <pre class="programlisting"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">double</span><span class="special">()&gt;</span> <span class="identifier">r</span><span class="special">;</span>

Modified: trunk/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html (original)
+++ trunk/libs/spirit/doc/html/spirit/abstracts/attributes/primitive_attributes.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,15 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- Attributes of Primitive Components</title>
+<title>Attributes of Primitive Components</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../attributes.html" title=" Attributes">
-<link rel="previous" href="../attributes.html" title=" Attributes">
-<link rel="next" href="compound_attributes.html" title=" Attributes
- of Compound Components">
+<link rel="up" href="../attributes.html" title="Attributes">
+<link rel="prev" href="../attributes.html" title="Attributes">
+<link rel="next" href="compound_attributes.html" title="Attributes of Compound Components">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -24,30 +22,26 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../attributes.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../attributes.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="compound_attributes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.abstracts.attributes.primitive_attributes"></a><a href="primitive_attributes.html" title="
- Attributes of Primitive Components">
+<div class="section" title="Attributes of Primitive Components">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.abstracts.attributes.primitive_attributes"></a><a class="link" href="primitive_attributes.html" title="Attributes of Primitive Components">
         Attributes of Primitive Components</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <p>
           Parsers and generators in Spirit
           are fully attributed. <span class="emphasis"><em>Spirit.Qi</em></span> parsers always <span class="emphasis"><em>expose</em></span>
           an attribute specific to their type. This is called <span class="emphasis"><em>synthesized
           attribute</em></span> as it is returned from a successful match representing
- the matched input sequence. For instance, numeric parsers, such as <tt class="computeroutput"><span class="identifier">int_</span></tt> or <tt class="computeroutput"><span class="identifier">double_</span></tt>,
- return the <tt class="computeroutput"><span class="keyword">int</span></tt> or <tt class="computeroutput"><span class="keyword">double</span></tt> value converted from the matched
+ the matched input sequence. For instance, numeric parsers, such as <code class="computeroutput"><span class="identifier">int_</span></code> or <code class="computeroutput"><span class="identifier">double_</span></code>,
+ return the <code class="computeroutput"><span class="keyword">int</span></code> or <code class="computeroutput"><span class="keyword">double</span></code> value converted from the matched
           input sequence. Other primitive parser components have other intuitive
- attribute types, such as for instance <tt class="computeroutput"><span class="identifier">int_</span></tt>
- which has <tt class="computeroutput"><span class="keyword">int</span></tt>, or <tt class="computeroutput"><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span></tt> which has <tt class="computeroutput"><span class="keyword">char</span></tt>.
+ attribute types, such as for instance <code class="computeroutput"><span class="identifier">int_</span></code>
+ which has <code class="computeroutput"><span class="keyword">int</span></code>, or <code class="computeroutput"><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span></code> which has <code class="computeroutput"><span class="keyword">char</span></code>.
           For primitive parsers apply the normal C++ convertibility rules: you can
           use any C++ type to receive the parsed value as long as the attribute type
           of the parser is convertible to the type provided. The following example
- shows how a synthesized parser attribute (the <tt class="computeroutput"><span class="keyword">int</span></tt>
- value) is extracted by calling the API function <tt class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span></tt>:
+ shows how a synthesized parser attribute (the <code class="computeroutput"><span class="keyword">int</span></code>
+ value) is extracted by calling the API function <code class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">parse</span></code>:
         </p>
 <pre class="programlisting"><span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"123"</span><span class="special">);</span>
@@ -63,8 +57,8 @@
           primitive generators the normal C++ convertibility rules apply. Any data
           type convertible to the attribute type of a primitive generator can be
           used to provide the data to generate. We present a similar example as above,
- this time the consumed generator attribute (the <tt class="computeroutput"><span class="keyword">int</span></tt>
- value) is passed to the API function <tt class="computeroutput"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span></tt>:
+ this time the consumed generator attribute (the <code class="computeroutput"><span class="keyword">int</span></code>
+ value) is passed to the API function <code class="computeroutput"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">generate</span></code>:
         </p>
 <pre class="programlisting"><span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">;</span>
@@ -74,12 +68,11 @@
 <p>
           Other primitive generator components have other intuitive attribute types,
           very similar to the corresponding parser components, such as for instance
- <tt class="computeroutput"><span class="identifier">int_</span></tt> which has <tt class="computeroutput"><span class="keyword">int</span></tt>, or <tt class="computeroutput"><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span></tt>
- which has <tt class="computeroutput"><span class="keyword">char</span></tt>. For a full
+ <code class="computeroutput"><span class="identifier">int_</span></code> which has <code class="computeroutput"><span class="keyword">int</span></code>, or <code class="computeroutput"><span class="identifier">ascii</span><span class="special">::</span><span class="identifier">char_</span></code>
+ which has <code class="computeroutput"><span class="keyword">char</span></code>. For a full
           list of available parser and generator primitives and their attribute types
- please see the sections <a href="../../qi/quick_reference/qi_parsers.html" title=" Qi Parsers">Qi
- Parsers</a> and <a href="../../karma/quick_reference/primitive_generators.html" title="
- Karma Generators">Karma
+ please see the sections <a class="link" href="../../qi/quick_reference/qi_parsers.html" title="Qi Parsers">Qi
+ Parsers</a> and <a class="link" href="../../karma/quick_reference/primitive_generators.html" title="Karma Generators">Karma
           Generators</a>.
         </p>
 </div>

Deleted: trunk/libs/spirit/doc/html/spirit/abstracts/customize.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/customize.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
+++ (empty file)
@@ -1,168 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Customization of Spirit's Attribute Handling</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="../abstracts.html" title="Abstracts">
-<link rel="prev" href="indepth/parsers_indepth.html" title="Parsers in Depth">
-<link rel="next" href="customize/is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)">
-</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="indepth/parsers_indepth.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="customize/is_container.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Customization of Spirit's Attribute Handling">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="spirit.abstracts.customize"></a><a class="link" href="customize.html" title="Customization of Spirit's Attribute Handling"> Customization of Spirit's
- Attribute Handling</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="customize/is_container.html"> Determine
- if a Type Should be Treated as a Container (Qi and Karma)</a></span></dt>
-<dt><span class="section"><a href="customize/transform.html"> Transform an
- Attribute to a Different Type (Qi and Karma)</a></span></dt>
-<dt><span class="section"><a href="customize/assign_to.html"> Store a Parsed
- Attribute Value (Qi)</a></span></dt>
-<dt><span class="section"><a href="customize/store_value.html"> Store Parsed
- Attribute Values into a Container (Qi)</a></span></dt>
-<dt><span class="section"><a href="customize/clear_value.html"> Re-Initialize
- an Attribute Value before Parsing (Qi)</a></span></dt>
-<dt><span class="section"><a href="customize/extract_from.html"> Extract an
- Attribute Value to Generate Output (Karma)</a></span></dt>
-</dl></div>
-<a name="spirit.abstracts.customize.why_do_we_need_attribute_customization_points"></a><h5>
-<a name="id594937"></a>
- <a class="link" href="customize.html#spirit.abstracts.customize.why_do_we_need_attribute_customization_points">Why
- do we need Attribute Customization Points</a>
- </h5>
-<div class="important" title="Important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Before you read on please be aware that the interfaces described in this
- section are not finalized and may change in the future without attempting
- to be backwards compatible. We document the customization point interfaces
- anyways as we think they are important. Understanding customization points
- helps understanding Spirit. Additionally they prove to be powerful tools
- enabling full integration of the user's data structures with <span class="emphasis"><em>Qi's</em></span>
- parsers and <span class="emphasis"><em>Karma's</em></span> generators.
- </p></td></tr>
-</table></div>
-<p>
- Spirit has been written
- with extensibility in mind. It provides many different attribute customization
- points allowing to integrate custom data types with the process of parsing
- in <span class="emphasis"><em>Spirit.Qi</em></span> or output generation with <span class="emphasis"><em>Spirit.Karma</em></span>.
- All attribute customization points are exposed using a similar technique:
- full or partial template specialization. Spirit
- generally implements the main template, providing a default implementation.
- You as the user have to provide a partial or full specialization of this
- template for the data types you want to integrate with the library. In fact,
- the library uses these customization points itself for instance to handle
- the magic of the <code class="computeroutput"><span class="identifier">unused_type</span></code>
- attribute type.
- </p>
-<p>
- Here is an example showing the <a class="link" href="customize/store_value/container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">container_value</span></code></a> customization point
- used by different parsers (such as <a class="link" href="../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
- <a class="link" href="../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>, etc.) to find
- the attribute type to be stored in a supplied STL container:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="comment">/* = void*/</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">container_value</span>
- <span class="special">:</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">remove_value_const</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
-<span class="special">{};</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- This template is instantiated by the library at the appropriate places while
- using the supplied container type as the template argument. The embedded
- <code class="computeroutput"><span class="identifier">type</span></code> is used as the attribute
- type while parsing the elements to be store in that container.
- </p>
-<p>
- The following example shows the predefined specialization for <code class="computeroutput"><span class="identifier">unused_type</span></code>:
- </p>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">unused_type</span><span class="special">&gt;</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">unused_type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- </p>
-<p>
- which defines its embedded <code class="computeroutput"><span class="identifier">type</span></code>
- to be <code class="computeroutput"><span class="identifier">unused_type</span></code> as well,
- this way propagating the 'don't care' attribute status to the embedded parser.
- </p>
-<p>
- All attribute customization points follow the same scheme. The last template
- parameter is always <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">Enable</span> <span class="special">=</span> <span class="keyword">void</span></code> allowing to apply SFINAE for fine grained
- control over the template specialization process. But most of the time you
- can safely forget about its existence.
- </p>
-<p>
- The following sections will describe all customization points, together with
- a description which needs to be specialized for what purpose.
- </p>
-<a name="spirit.abstracts.customize.the_usage_of_customization_points"></a><h5>
-<a name="id595258"></a>
- <a class="link" href="customize.html#spirit.abstracts.customize.the_usage_of_customization_points">The
- Usage of Customization Points</a>
- </h5>
-<p>
- The different customizations points are used by different parts of the library.
- Part of the customizations points are used by both, <span class="emphasis"><em>Spirit.Qi</em></span>
- and <span class="emphasis"><em>Spirit.Karma</em></span>, whereas others are specialized to
- be applied for one of the sub-libraries only. We will explain when a specific
- customization point needs to be implemented and, equally important, which
- customization points need to be implemented at the same time. Often it is
- not sufficient to provide a specialization for one single customization point
- only, in this case you as the user have to provide all necessary customizations
- for your data type you want to integrate with the library.
- </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="indepth/parsers_indepth.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="customize/is_container.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: trunk/libs/spirit/doc/html/spirit/abstracts/indepth.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/abstracts/indepth.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
+++ (empty file)
@@ -1,46 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>In Depth</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="../abstracts.html" title="Abstracts">
-<link rel="prev" href="attributes/nonterminal_attributes.html" title="Attributes of Rules and Grammars">
-<link rel="next" href="indepth/parsers_indepth.html" title="Parsers in Depth">
-</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="attributes/nonterminal_attributes.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="indepth/parsers_indepth.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="In Depth">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="spirit.abstracts.indepth"></a><a class="link" href="indepth.html" title="In Depth"> In Depth</a>
-</h3></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="indepth/parsers_indepth.html"> Parsers
- in Depth</a></span></dt></dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
- de Guzman, Hartmut Kaiser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="attributes/nonterminal_attributes.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="indepth/parsers_indepth.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

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-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,14 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Parsing
- Expression Grammar</title>
+<title>Parsing Expression Grammar</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../index.html" title="Spirit 2.1">
 <link rel="up" href="../abstracts.html" title="Abstracts">
-<link rel="previous" href="syntax_diagram.html" title="Syntax Diagram">
-<link rel="next" href="attributes.html" title=" Attributes">
+<link rel="prev" href="syntax_diagram.html" title="Syntax Diagram">
+<link rel="next" href="attributes.html" title="Attributes">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -23,20 +22,16 @@
 <div class="spirit-nav">
 <a accesskey="p" href="syntax_diagram.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="attributes.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h3 class="title">
-<a name="spirit.abstracts.parsing_expression_grammar"></a><a href="parsing_expression_grammar.html" title="Parsing
- Expression Grammar">Parsing
+<div class="section" title="Parsing Expression Grammar">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="spirit.abstracts.parsing_expression_grammar"></a><a class="link" href="parsing_expression_grammar.html" title="Parsing Expression Grammar">Parsing
       Expression Grammar</a>
-</h3></div></div>
-<div></div>
-</div>
+</h3></div></div></div>
 <p>
         Parsing Expression Grammars (PEG)
- <sup>[<a name="id415550" href="#ftn.id415550">5</a>]</sup>
+ <sup>[<a name="id602395" href="#ftn.id602395" class="footnote">5</a>]</sup>
         are a derivative of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id415567" href="#ftn.id415567">6</a>]</sup>
+ <sup>[<a name="id602407" href="#ftn.id602407" 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>
@@ -46,24 +41,24 @@
         PEGs have an exact interpretation. There is only one valid parse tree (see
         Abstract Syntax Tree) for each PEG grammar.
       </p>
-<a name="spirit.abstracts.parsing_expression_grammar.sequences"></a><h4>
-<a name="id415604"></a>
- Sequences
- </h4>
+<a name="spirit.abstracts.parsing_expression_grammar.sequences"></a><h5>
+<a name="id602428"></a>
+ <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.sequences">Sequences</a>
+ </h5>
 <p>
         Sequences are represented by juxtaposition like in EBNF:
       </p>
 <pre class="programlisting"><span class="identifier">a</span> <span class="identifier">b</span>
 </pre>
 <p>
- The PEG expression above states that, in order for this to succeed, <tt class="computeroutput"><span class="identifier">a</span></tt> must follow <tt class="computeroutput"><span class="identifier">b</span></tt>.
+ The PEG expression above states that, in order for this to succeed, <code class="computeroutput"><span class="identifier">a</span></code> must follow <code class="computeroutput"><span class="identifier">b</span></code>.
         Here's the syntax diagram:
       </p>
 <div class="blockquote"><blockquote class="blockquote">
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/sequence.png" alt="sequence"></span>
+ <span class="inlinemediaobject"><img src="../.././images/sequence.png" alt="sequence"></span>
           </p>
 <p>
         </p>
@@ -74,68 +69,68 @@
 <pre class="programlisting"><span class="char">'x'</span> <span class="identifier">digit</span>
 </pre>
 <p>
- which means the character <tt class="computeroutput"><span class="identifier">x</span></tt>
+ which means the character <code class="computeroutput"><span class="identifier">x</span></code>
         must be followed by a digit.
       </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
- In <span class="emphasis"><em>Spirit.Qi</em></span>, we use the <tt class="computeroutput"><span class="special">&gt;&gt;</span></tt>
+<tr><td align="left" valign="top"><p>
+ In <span class="emphasis"><em>Spirit.Qi</em></span>, we use the <code class="computeroutput"><span class="special">&gt;&gt;</span></code>
           for sequences since C++ does not allow juxtaposition, while in <span class="emphasis"><em>Spirit.Karma</em></span>
- we use the <tt class="computeroutput"><span class="special">&lt;&lt;</span></tt> instead.
+ we use the <code class="computeroutput"><span class="special">&lt;&lt;</span></code> instead.
         </p></td></tr>
 </table></div>
-<a name="spirit.abstracts.parsing_expression_grammar.alternatives"></a><h4>
-<a name="id415770"></a>
- Alternatives
- </h4>
+<a name="spirit.abstracts.parsing_expression_grammar.alternatives"></a><h5>
+<a name="id602560"></a>
+ <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.alternatives">Alternatives</a>
+ </h5>
 <p>
         Alternatives are represented in PEG using the slash:
       </p>
 <pre class="programlisting"><span class="identifier">a</span> <span class="special">/</span> <span class="identifier">b</span>
 </pre>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
           In <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>,
- we use the <tt class="computeroutput"><span class="special">|</span></tt> for alternatives
+ we use the <code class="computeroutput"><span class="special">|</span></code> for alternatives
           just as in EBNF.
         </p></td></tr>
 </table></div>
 <p>
         Alternatives allow for choices. The expression above reads: try to match
- <tt class="computeroutput"><span class="identifier">a</span></tt>. If <tt class="computeroutput"><span class="identifier">a</span></tt>
- succeeds, success, if not try to match <tt class="computeroutput"><span class="identifier">b</span></tt>.
+ <code class="computeroutput"><span class="identifier">a</span></code>. If <code class="computeroutput"><span class="identifier">a</span></code>
+ succeeds, success, if not try to match <code class="computeroutput"><span class="identifier">b</span></code>.
         This is a bit of a deviation from the usual EBNF interpretation where you
- simply match <tt class="computeroutput"><span class="identifier">a</span></tt> <span class="bold"><b>or</b></span> <tt class="computeroutput"><span class="identifier">b</span></tt>.
+ simply match <code class="computeroutput"><span class="identifier">a</span></code> <span class="bold"><strong>or</strong></span> <code class="computeroutput"><span class="identifier">b</span></code>.
         Here's the syntax diagram:
       </p>
 <div class="blockquote"><blockquote class="blockquote">
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/alternative.png" alt="alternative"></span>
+ <span class="inlinemediaobject"><img src="../.././images/alternative.png" alt="alternative"></span>
           </p>
 <p>
         </p>
 </blockquote></div>
 <p>
         PEGs allow for ambiguity in the alternatives. In the expression above, both
- <tt class="computeroutput"><span class="identifier">a</span></tt> or <tt class="computeroutput"><span class="identifier">b</span></tt>
+ <code class="computeroutput"><span class="identifier">a</span></code> or <code class="computeroutput"><span class="identifier">b</span></code>
         can both match an input string. However, only the first matching alternative
         is valid. As noted, there can only be one valid parse tree ($$$ explain more
         about this $$$).
       </p>
-<a name="spirit.abstracts.parsing_expression_grammar.loops"></a><h4>
-<a name="id415962"></a>
- Loops
- </h4>
+<a name="spirit.abstracts.parsing_expression_grammar.loops"></a><h5>
+<a name="id602980"></a>
+ <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.loops">Loops</a>
+ </h5>
 <p>
         Again, like EBNF, PEG uses the regular-expression Kleene star and the plus
         loops:
@@ -143,12 +138,12 @@
 <pre class="programlisting"><span class="identifier">a</span><span class="special">*</span>
 <span class="identifier">a</span><span class="special">+</span>
 </pre>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
           <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span> use
           the prefix star and plus since there is no postfix star or plus in C++.
         </p></td></tr>
@@ -160,7 +155,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/kleene.png" alt="kleene"></span>
+ <span class="inlinemediaobject"><img src="../.././images/kleene.png" alt="kleene"></span>
           </p>
 <p>
         </p>
@@ -169,14 +164,14 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/plus.png" alt="plus"></span>
+ <span class="inlinemediaobject"><img src="../.././images/plus.png" alt="plus"></span>
           </p>
 <p>
         </p>
 </blockquote></div>
 <p>
- The first, called the Kleene star, matches zero or more of its subject <tt class="computeroutput"><span class="identifier">a</span></tt>. The second, plus, matches one ore more
- of its subject <tt class="computeroutput"><span class="identifier">a</span></tt>.
+ The first, called the Kleene star, matches zero or more of its subject <code class="computeroutput"><span class="identifier">a</span></code>. The second, plus, matches one ore more
+ of its subject <code class="computeroutput"><span class="identifier">a</span></code>.
       </p>
 <p>
         Unlike EBNF, PEGs have greedy loops. It will match as much as it can until
@@ -195,10 +190,10 @@
         a major gotcha. PEG provides a couple of other mechanisms to circumvent this.
         We will see more of these other mechanisms shortly.
       </p>
-<a name="spirit.abstracts.parsing_expression_grammar.difference"></a><h4>
-<a name="id416140"></a>
- Difference
- </h4>
+<a name="spirit.abstracts.parsing_expression_grammar.difference"></a><h5>
+<a name="id603127"></a>
+ <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.difference">Difference</a>
+ </h5>
 <p>
         In certain cases, you may want to restrict a certain expression. You can
         think of a PEG expression as a match for a potentially infinite set of strings.
@@ -207,26 +202,26 @@
 <pre class="programlisting"><span class="identifier">a</span> <span class="special">-</span> <span class="identifier">b</span>
 </pre>
 <p>
- The expression reads: match <tt class="computeroutput"><span class="identifier">a</span></tt>
- but not <tt class="computeroutput"><span class="identifier">b</span></tt>.
+ The expression reads: match <code class="computeroutput"><span class="identifier">a</span></code>
+ but not <code class="computeroutput"><span class="identifier">b</span></code>.
       </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
           There is no difference operator in <span class="emphasis"><em>Spirit.Karma</em></span>, as
           the concept does not make sense in the context of output generation.
         </p></td></tr>
 </table></div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id415550" href="#id415550">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id602395" href="#id602395" 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.id415567" href="#id415567">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id602407" href="#id602407" 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-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -3,12 +3,11 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Syntax Diagram</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../index.html" title="Spirit 2.1">
 <link rel="up" href="../abstracts.html" title="Abstracts">
-<link rel="previous" href="../abstracts.html" title="Abstracts">
-<link rel="next" href="parsing_expression_grammar.html" title="Parsing
- Expression Grammar">
+<link rel="prev" href="../abstracts.html" title="Abstracts">
+<link rel="next" href="parsing_expression_grammar.html" title="Parsing Expression Grammar">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -23,22 +22,19 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../abstracts.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../abstracts.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="parsing_expression_grammar.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h3 class="title">
-<a name="spirit.abstracts.syntax_diagram"></a>Syntax Diagram
-</h3></div></div>
-<div></div>
-</div>
+<div class="section" title="Syntax Diagram">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="spirit.abstracts.syntax_diagram"></a><a class="link" href="syntax_diagram.html" title="Syntax Diagram">Syntax Diagram</a>
+</h3></div></div></div>
 <p>
         In the next section, we will deal with Parsing Expression Grammars (PEG)
- <sup>[<a name="id415010" href="#ftn.id415010">2</a>]</sup>
+ <sup>[<a name="id601953" href="#ftn.id601953" class="footnote">2</a>]</sup>
         , a variant of Extended Backus-Naur Form (EBNF)
- <sup>[<a name="id415028" href="#ftn.id415028">3</a>]</sup>
+ <sup>[<a name="id601965" href="#ftn.id601965" 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="id415048" href="#ftn.id415048">4</a>]</sup>
+ <sup>[<a name="id601977" href="#ftn.id601977" 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
@@ -51,10 +47,10 @@
         the concepts described here are equally applicable to <span class="emphasis"><em>Spirit.Qi</em></span>
         parsers as they are for <span class="emphasis"><em>Spirit.Karma</em></span> generators.
       </p>
-<a name="spirit.abstracts.syntax_diagram.elements"></a><h4>
-<a name="id415088"></a>
- Elements
- </h4>
+<a name="spirit.abstracts.syntax_diagram.elements"></a><h5>
+<a name="id602004"></a>
+ <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.elements">Elements</a>
+ </h5>
 <p>
         All diagrams have one entry and exit point. Arrows connect all possible paths
         through the grammar from the entry point to the exit point.
@@ -63,7 +59,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/start_stop.png" alt="start_stop"></span>
+ <span class="inlinemediaobject"><img src="../.././images/start_stop.png" alt="start_stop"></span>
           </p>
 <p>
         </p>
@@ -76,7 +72,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/terminal.png" alt="terminal"></span>
+ <span class="inlinemediaobject"><img src="../.././images/terminal.png" alt="terminal"></span>
           </p>
 <p>
         </p>
@@ -90,15 +86,15 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/non-terminal.png" alt="non-terminal"></span>
+ <span class="inlinemediaobject"><img src="../.././images/non-terminal.png" alt="non-terminal"></span>
           </p>
 <p>
         </p>
 </blockquote></div>
-<a name="spirit.abstracts.syntax_diagram.constructs"></a><h4>
-<a name="id415207"></a>
- Constructs
- </h4>
+<a name="spirit.abstracts.syntax_diagram.constructs"></a><h5>
+<a name="id602104"></a>
+ <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.constructs">Constructs</a>
+ </h5>
 <p>
         The most basic composition is the Sequence. B follows A:
       </p>
@@ -106,7 +102,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/sequence.png" alt="sequence"></span>
+ <span class="inlinemediaobject"><img src="../.././images/sequence.png" alt="sequence"></span>
           </p>
 <p>
         </p>
@@ -121,7 +117,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/alternative.png" alt="alternative"></span>
+ <span class="inlinemediaobject"><img src="../.././images/alternative.png" alt="alternative"></span>
           </p>
 <p>
         </p>
@@ -133,7 +129,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/optional.png" alt="optional"></span>
+ <span class="inlinemediaobject"><img src="../.././images/optional.png" alt="optional"></span>
           </p>
 <p>
         </p>
@@ -145,7 +141,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/kleene.png" alt="kleene"></span>
+ <span class="inlinemediaobject"><img src="../.././images/kleene.png" alt="kleene"></span>
           </p>
 <p>
         </p>
@@ -154,7 +150,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/plus.png" alt="plus"></span>
+ <span class="inlinemediaobject"><img src="../.././images/plus.png" alt="plus"></span>
           </p>
 <p>
         </p>
@@ -166,10 +162,10 @@
         is a crucial difference between PEG and general Context Free Grammars (CFGs).
         This behavior is quite obvious with syntax diagrams as they resemble flow-charts.
       </p>
-<a name="spirit.abstracts.syntax_diagram.predicates"></a><h4>
-<a name="id415389"></a>
- Predicates
- </h4>
+<a name="spirit.abstracts.syntax_diagram.predicates"></a><h5>
+<a name="id602265"></a>
+ <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.predicates">Predicates</a>
+ </h5>
 <p>
         Now, the following are Syntax Diagram versions of PEG predicates. These are
         not traditionally found in Syntax Diagrams. These are special extensions
@@ -182,7 +178,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/predicate.png" alt="predicate"></span>
+ <span class="inlinemediaobject"><img src="../.././images/predicate.png" alt="predicate"></span>
           </p>
 <p>
         </p>
@@ -199,7 +195,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/and_predicate.png" alt="and_predicate"></span>
+ <span class="inlinemediaobject"><img src="../.././images/and_predicate.png" alt="and_predicate"></span>
           </p>
 <p>
         </p>
@@ -208,7 +204,7 @@
 <p>
           </p>
 <p>
- <span class="inlinemediaobject"><img src="./images/not_predicate.png" alt="not_predicate"></span>
+ <span class="inlinemediaobject"><img src="../.././images/not_predicate.png" alt="not_predicate"></span>
           </p>
 <p>
         </p>
@@ -222,14 +218,14 @@
       </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id415010" href="#id415010">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id601953" href="#id601953" 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.id415028" href="#id415028">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id601965" href="#id601965" 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.id415048" href="#id415048">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id601977" href="#id601977" 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-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -3,10 +3,10 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Acknowledgments</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../index.html" title="Spirit 2.1">
 <link rel="up" href="../index.html" title="Spirit 2.1">
-<link rel="previous" href="repository.html" title=" Spirit Repository">
+<link rel="prev" href="repository.html" title="Spirit Repository">
 <link rel="next" href="references.html" title="References">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,13 +22,10 @@
 <div class="spirit-nav">
 <a accesskey="p" href="repository.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h2 class="title" style="clear: both">
-<a name="spirit.acknowledgments"></a>Acknowledgments
-</h2></div></div>
-<div></div>
-</div>
+<div class="section" title="Acknowledgments">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="spirit.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
+</h2></div></div></div>
 <p>
       This version of Spirit is a complete rewrite of the <span class="emphasis"><em>classic</em></span>
       Spirit many people have been contributing to (see below). But there are a couple
@@ -36,63 +33,63 @@
       would like to express our special acknowledgement to:
     </p>
 <p>
- <span class="bold"><b>Eric Niebler</b></span> for writing Boost.Proto, without
+ <span class="bold"><strong>Eric Niebler</strong></span> for writing Boost.Proto, without
       which this rewrite wouldn't have been possible, and helping with examples,
       advices, and suggestions on how to use Boost.Proto in the best possible way.
     </p>
 <p>
- <span class="bold"><b>Ben Hanson</b></span> for providing us with an early
+ <span class="bold"><strong>Ben Hanson</strong></span> for providing us with an early
       version of his Lexertl library, which is proposed to be included into Boost
       (as Boost.Lexer). At the time of this writing the Boost review for this library
       is still pending.
     </p>
 <p>
- <span class="bold"><b>Francois Barel</b></span> for his silent but steady work
+ <span class="bold"><strong>Francois Barel</strong></span> for his silent but steady work
       on making and keeping Spirit compatible with all versions of gcc, older and
       newest ones. He not only contributed subrules to Spirit V2.1, but always keeps
       an eye on the small details which are so important to make a difference.
     </p>
 <p>
- <span class="bold"><b>Andreas Haberstroh</b></span> for proof reading the documentation
+ <span class="bold"><strong>Andreas Haberstroh</strong></span> for proof reading the documentation
       and fixing those non-native-speaker-quirks we managed to introduce into the
       first versions of the documentation.
     </p>
 <p>
- <span class="bold"><b>FIXME</b></span>: Add more people
+ <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><h3>
-<a name="id758179"></a>
- <a href="acknowledgments.html#spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation">Acknowledgements
+<a name="spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation"></a><h4>
+<a name="id959077"></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>
- </h3>
+ </h4>
 <p>
       Special thanks for working on Spirit <span class="emphasis"><em>classic</em></span> to:
     </p>
 <p>
- <span class="bold"><b>Dan Nuffer</b></span> for his work on lexers, parse trees,
+ <span class="bold"><strong>Dan Nuffer</strong></span> for his work on lexers, parse trees,
       ASTs, XML parsers, the multi-pass iterator as well as administering Spirit's
       site, editing, maintaining the CVS and doing the releases plus a zillion of
       other chores that were almost taken for granted.
     </p>
 <p>
- <span class="bold"><b>Hartmut Kaiser</b></span> for his work on the C parser,
+ <span class="bold"><strong>Hartmut Kaiser</strong></span> for his work on the C parser,
       the work on the C/C++ preprocessor, utility parsers, the original port to Intel
       5.0, various work on Phoenix, porting to v1.5, the meta-parsers, the grouping-parsers,
       extensive testing and painstaking attention to details.
     </p>
 <p>
- <span class="bold"><b>Martin Wille</b></span> who improved grammar multi thread
+ <span class="bold"><strong>Martin Wille</strong></span> who improved grammar multi thread
       safety, contributed the eol_p parser, the dynamic parsers, documentation and
       for taking an active role in almost every aspect from brainstorming and design
       to coding. And, as always, helps keep the regression tests for g++ on Linux
       as green as ever :-).
     </p>
 <p>
- <span class="bold"><b>Martijn W. Van Der Lee</b></span> our Web site administrator
+ <span class="bold"><strong>Martijn W. Van Der Lee</strong></span> our Web site administrator
       and for contributing the RFC821 parser.
     </p>
 <p>
- <span class="bold"><b>Giovanni Bajo</b></span> for last minute tweaks of Spirit
+ <span class="bold"><strong>Giovanni Bajo</strong></span> for last minute tweaks of Spirit
       1.8.0 for CodeWarrior 8.3. Actually, I'm ashamed Giovanni was not in this list
       already. He's done a lot since Spirit 1.5, the first Boost.Spirit release.
       He's instrumental in the porting of the Spirit iterators stuff to the new Boost
@@ -100,107 +97,107 @@
       tests here and there.
     </p>
 <p>
- <span class="bold"><b>Juan Carlos Arevalo-Baeza (JCAB)*</b></span> for his
+ <span class="bold"><strong>Juan Carlos Arevalo-Baeza (JCAB)*</strong></span> for his
       work on the C++ parser, the position iterator, ports to v1.5 and keeping the
       mailing list discussions alive and kicking.
     </p>
 <p>
- <span class="bold"><b>Vaclav Vesely</b></span>, lots of stuff, the no_actions
+ <span class="bold"><strong>Vaclav Vesely</strong></span>, lots of stuff, the no_actions
       directive, various patches fixes, the distinct parsers, the lazy parser, some
       phoenix tweaks and add-ons (e.g. new_). Also, *Stefan Slapeta] and wife for
       editing Vaclav's distinct parser doc.
     </p>
 <p>
- <span class="bold"><b>Raghavendra Satish</b></span> for doing the original
+ <span class="bold"><strong>Raghavendra Satish</strong></span> for doing the original
       v1.3 port to VC++ and his work on Phoenix.
     </p>
 <p>
- <span class="bold"><b>Noah Stein</b></span> for following up and helping Ragav
+ <span class="bold"><strong>Noah Stein</strong></span> for following up and helping Ragav
       on the VC++ ports.
     </p>
 <p>
- <span class="bold"><b>Hakki Dogusan</b></span>, for his original v1.0 Pascal
+ <span class="bold"><strong>Hakki Dogusan</strong></span>, for his original v1.0 Pascal
       parser.
     </p>
 <p>
- <span class="bold"><b>John (EBo) David</b></span> for his work on the VM and
+ <span class="bold"><strong>John (EBo) David</strong></span> for his work on the VM and
       watching over my shoulder as I code giving the impression of distance eXtreme
       programming.
     </p>
 <p>
- <span class="bold"><b>Chris Uzdavinis</b></span> for feeding in comments and
+ <span class="bold"><strong>Chris Uzdavinis</strong></span> for feeding in comments and
       valuable suggestions as well as editing the documentation.
     </p>
 <p>
- <span class="bold"><b>Carsten Stoll</b></span>, for his work on dynamic parsers.
+ <span class="bold"><strong>Carsten Stoll</strong></span>, for his work on dynamic parsers.
     </p>
 <p>
- <span class="bold"><b>Andy Elvey</b></span> and his conifer parser.
+ <span class="bold"><strong>Andy Elvey</strong></span> and his conifer parser.
     </p>
 <p>
- <span class="bold"><b>Bruce Florman</b></span>, who did the original v1.0 port
+ <span class="bold"><strong>Bruce Florman</strong></span>, who did the original v1.0 port
       to VC++.
     </p>
 <p>
- <span class="bold"><b>Jeff Westfahl</b></span> for porting the loop parsers
+ <span class="bold"><strong>Jeff Westfahl</strong></span> for porting the loop parsers
       to v1.5 and contributing the file iterator.
     </p>
 <p>
- <span class="bold"><b>Peter Simons</b></span> for the RFC date parser example
+ <span class="bold"><strong>Peter Simons</strong></span> for the RFC date parser example
       and tutorial plus helping out with some nitty gritty details.
     </p>
 <p>
- <span class="bold"><b>Markus Schöpflin</b></span> for suggesting the end_p parser
+ <span class="bold"><strong>Markus Schöpflin</strong></span> for suggesting the end_p parser
       and lots of other nifty things and his active presence in the mailing list.
     </p>
 <p>
- <span class="bold"><b>Doug Gregor</b></span> for mentoring and his ability
+ <span class="bold"><strong>Doug Gregor</strong></span> for mentoring and his ability
       to see things that others don't.
     </p>
 <p>
- <span class="bold"><b>David Abrahams</b></span> for giving Joel a job that
+ <span class="bold"><strong>David Abrahams</strong></span> for giving Joel a job that
       allows him to still work on Spirit, plus countless advice and help on C++ and
       specifically template metaprogramming.
     </p>
 <p>
- <span class="bold"><b>Aleksey Gurtovoy</b></span> for his MPL library from
+ <span class="bold"><strong>Aleksey Gurtovoy</strong></span> for his MPL library from
       which we stole many metaprogramming tricks especially for less conforming compilers
       such as Borland and VC6/7.
     </p>
 <p>
- <span class="bold"><b>Gustavo Guerra</b></span> for his last minute review
+ <span class="bold"><strong>Gustavo Guerra</strong></span> for his last minute review
       of Spirit and constant feedback, plus patches here and there (e.g. proposing
       the new dot behavior of the real numerics parsers).
     </p>
 <p>
- <span class="bold"><b>Nicola Musatti</b></span>, <span class="bold"><b>Paul
- Snively</b></span>, <span class="bold"><b>Alisdair Meredith</b></span> and
- <span class="bold"><b>Hugo Duncan</b></span> for testing and sending in various
+ <span class="bold"><strong>Nicola Musatti</strong></span>, <span class="bold"><strong>Paul
+ Snively</strong></span>, <span class="bold"><strong>Alisdair Meredith</strong></span> and
+ <span class="bold"><strong>Hugo Duncan</strong></span> for testing and sending in various
       patches.
     </p>
 <p>
- <span class="bold"><b>Steve Rowe</b></span> for his splendid work on the TSTs
+ <span class="bold"><strong>Steve Rowe</strong></span> for his splendid work on the TSTs
       that will soon be taken into Spirit.
     </p>
 <p>
- <span class="bold"><b>Jonathan de Halleux</b></span> for his work on actors.
+ <span class="bold"><strong>Jonathan de Halleux</strong></span> for his work on actors.
     </p>
 <p>
- <span class="bold"><b>Angus Leeming</b></span> for last minute editing work
+ <span class="bold"><strong>Angus Leeming</strong></span> for last minute editing work
       on the 1.8.0 release documentation, his work on Phoenix and his active presence
       in the Spirit mailing list.
     </p>
 <p>
- <span class="bold"><b>Joao Abecasis</b></span> for his active presence in the
+ <span class="bold"><strong>Joao Abecasis</strong></span> for his active presence in the
       Spirit mailing list, providing user support, participating in the discussions
       and so on.
     </p>
 <p>
- <span class="bold"><b>Guillaume Melquiond</b></span> for a last minute patch
+ <span class="bold"><strong>Guillaume Melquiond</strong></span> for a last minute patch
       to multi_pass for 1.8.1.
     </p>
 <p>
- <span class="bold"><b>Peder Holt</b></span> for his porting work on Phoenix,
+ <span class="bold"><strong>Peder Holt</strong></span> for his porting work on Phoenix,
       Fusion and Spirit to VC6.
     </p>
 <p>
@@ -217,19 +214,19 @@
       in the review:
     </p>
 <p>
- <span class="bold"><b>John Maddock</b></span>, our review manager, <span class="bold"><b>Aleksey Gurtovoy</b></span>, <span class="bold"><b>Andre Hentz</b></span>,
- <span class="bold"><b>Beman Dawes</b></span>, <span class="bold"><b>Carl Daniel</b></span>,
- <span class="bold"><b>Christopher Currie</b></span>, <span class="bold"><b>Dan
- Gohman</b></span>, <span class="bold"><b>Dan Nuffer</b></span>, <span class="bold"><b>Daryle
- Walker</b></span>, <span class="bold"><b>David Abrahams</b></span>, <span class="bold"><b>David B. Held</b></span>, <span class="bold"><b>Dirk Gerrits</b></span>,
- <span class="bold"><b>Douglas Gregor</b></span>, <span class="bold"><b>Hartmut
- Kaiser</b></span>, <span class="bold"><b>Iain K.Hanson</b></span>, <span class="bold"><b>Juan Carlos Arevalo-Baeza</b></span>, <span class="bold"><b>Larry
- Evans</b></span>, <span class="bold"><b>Martin Wille</b></span>, <span class="bold"><b>Mattias Flodin</b></span>, <span class="bold"><b>Noah Stein</b></span>,
- <span class="bold"><b>Nuno Lucas</b></span>, <span class="bold"><b>Peter Dimov</b></span>,
- <span class="bold"><b>Peter Simons</b></span>, <span class="bold"><b>Petr Kocmid</b></span>,
- <span class="bold"><b>Ross Smith</b></span>, <span class="bold"><b>Scott Kirkwood</b></span>,
- <span class="bold"><b>Steve Cleary</b></span>, <span class="bold"><b>Thorsten
- Ottosen</b></span>, <span class="bold"><b>Tom Wenisch</b></span>, <span class="bold"><b>Vladimir Prus</b></span>
+ <span class="bold"><strong>John Maddock</strong></span>, our review manager, <span class="bold"><strong>Aleksey Gurtovoy</strong></span>, <span class="bold"><strong>Andre Hentz</strong></span>,
+ <span class="bold"><strong>Beman Dawes</strong></span>, <span class="bold"><strong>Carl Daniel</strong></span>,
+ <span class="bold"><strong>Christopher Currie</strong></span>, <span class="bold"><strong>Dan
+ Gohman</strong></span>, <span class="bold"><strong>Dan Nuffer</strong></span>, <span class="bold"><strong>Daryle
+ Walker</strong></span>, <span class="bold"><strong>David Abrahams</strong></span>, <span class="bold"><strong>David B. Held</strong></span>, <span class="bold"><strong>Dirk Gerrits</strong></span>,
+ <span class="bold"><strong>Douglas Gregor</strong></span>, <span class="bold"><strong>Hartmut
+ Kaiser</strong></span>, <span class="bold"><strong>Iain K.Hanson</strong></span>, <span class="bold"><strong>Juan Carlos Arevalo-Baeza</strong></span>, <span class="bold"><strong>Larry
+ Evans</strong></span>, <span class="bold"><strong>Martin Wille</strong></span>, <span class="bold"><strong>Mattias Flodin</strong></span>, <span class="bold"><strong>Noah Stein</strong></span>,
+ <span class="bold"><strong>Nuno Lucas</strong></span>, <span class="bold"><strong>Peter Dimov</strong></span>,
+ <span class="bold"><strong>Peter Simons</strong></span>, <span class="bold"><strong>Petr Kocmid</strong></span>,
+ <span class="bold"><strong>Ross Smith</strong></span>, <span class="bold"><strong>Scott Kirkwood</strong></span>,
+ <span class="bold"><strong>Steve Cleary</strong></span>, <span class="bold"><strong>Thorsten
+ Ottosen</strong></span>, <span class="bold"><strong>Tom Wenisch</strong></span>, <span class="bold"><strong>Vladimir Prus</strong></span>
     </p>
 <p>
       Finally thanks to SourceForge for hosting the Spirit project and Boost: a C++

Modified: trunk/libs/spirit/doc/html/spirit/advanced.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -3,11 +3,11 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Advanced</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../index.html" title="Spirit 2.1">
 <link rel="up" href="../index.html" title="Spirit 2.1">
-<link rel="previous" href="lex/reference/tokendef.html" title=" TokenDef Class">
-<link rel="next" href="advanced/indepth.html" title=" In Depth">
+<link rel="prev" href="lex/reference/tokendef.html" title="TokenDef Class">
+<link rel="next" href="advanced/indepth.html" title="In Depth">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -22,13 +22,10 @@
 <div class="spirit-nav">
 <a accesskey="p" href="lex/reference/tokendef.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="advanced/indepth.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h2 class="title" style="clear: both">
-<a name="spirit.advanced"></a>Advanced
-</h2></div></div>
-<div></div>
-</div>
+<div class="section" title="Advanced">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="spirit.advanced"></a><a class="link" href="advanced.html" title="Advanced">Advanced</a>
+</h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"> In Depth</span></dt>
 <dd><dl><dt><span class="section"><a href="advanced/indepth/parsers_indepth.html"> Parsers in
@@ -48,6 +45,8 @@
         an Attribute Value before Parsing (Qi)</a></span></dt>
 <dt><span class="section"><a href="advanced/customize/extract_from.html"> Extract an
         Attribute Value to Generate Output (Karma)</a></span></dt>
+<dt><span class="section"><a href="advanced/customize/iterate.html"> Extract Attribute
+ Values to Generate Output from a Container (Karma)</a></span></dt>
 </dl></dd>
 </dl></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,16 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Customization of Spirit's
- Attribute Handling</title>
+<title>Customization of Spirit's Attribute Handling</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../index.html" title="Spirit 2.1">
 <link rel="up" href="../advanced.html" title="Advanced">
-<link rel="previous" href="indepth/parsers_indepth.html" title=" Parsers in
- Depth">
-<link rel="next" href="customize/is_container.html" title=" Determine
- if a Type Should be Treated as a Container (Qi and Karma)">
+<link rel="prev" href="indepth/parsers_indepth.html" title="Parsers in Depth">
+<link rel="next" href="customize/is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -25,15 +22,11 @@
 <div class="spirit-nav">
 <a accesskey="p" href="indepth/parsers_indepth.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.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="customize/is_container.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h3 class="title">
-<a name="spirit.advanced.customize"></a><a href="customize.html" title=" Customization of Spirit's
- Attribute Handling"> Customization of Spirit's
+<div class="section" title="Customization of Spirit's Attribute Handling">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="spirit.advanced.customize"></a><a class="link" href="customize.html" title="Customization of Spirit's Attribute Handling"> Customization of Spirit's
       Attribute Handling</a>
-</h3></div></div>
-<div></div>
-</div>
+</h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="customize/is_container.html"> Determine
         if a Type Should be Treated as a Container (Qi and Karma)</a></span></dt>
@@ -47,18 +40,20 @@
         an Attribute Value before Parsing (Qi)</a></span></dt>
 <dt><span class="section"><a href="customize/extract_from.html"> Extract an
         Attribute Value to Generate Output (Karma)</a></span></dt>
+<dt><span class="section"><a href="customize/iterate.html"> Extract Attribute
+ Values to Generate Output from a Container (Karma)</a></span></dt>
 </dl></div>
-<a name="spirit.advanced.customize.why_do_we_need_attribute_customization_points"></a><h4>
-<a name="id724737"></a>
- <a href="customize.html#spirit.advanced.customize.why_do_we_need_attribute_customization_points">Why
+<a name="spirit.advanced.customize.why_do_we_need_attribute_customization_points"></a><h5>
+<a name="id912831"></a>
+ <a class="link" href="customize.html#spirit.advanced.customize.why_do_we_need_attribute_customization_points">Why
         do we need Attribute Customization Points</a>
- </h4>
-<div class="important"><table border="0" summary="Important">
+ </h5>
+<div class="important" title="Important"><table border="0" summary="Important">
 <tr>
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
 <th align="left">Important</th>
 </tr>
-<tr><td colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
           Before you read on please be aware that the interfaces described in this
           section are not finalized and may change in the future without attempting
           to be backwards compatible. We document the customization point interfaces
@@ -79,14 +74,13 @@
         You as the user have to provide a partial or full specialization of this
         template for the data types you want to integrate with the library. In fact,
         the library uses these customization points itself for instance to handle
- the magic of the <tt class="computeroutput"><span class="identifier">unused_type</span></tt>
+ the magic of the <code class="computeroutput"><span class="identifier">unused_type</span></code>
         attribute type.
       </p>
 <p>
- Here is an example showing the <a href="customize/store_value/container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)"><tt class="computeroutput"><span class="identifier">container_value</span></tt></a> customization point
- used by different parsers (such as Kleene,
- Plus, etc.) to find
+ Here is an example showing the <a class="link" href="customize/store_value/container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">container_value</span></code></a> customization point
+ used by different parsers (such as <a class="link" href="../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>, etc.) to find
         the attribute type to be stored in a supplied STL container:
       </p>
 <p>
@@ -106,11 +100,11 @@
 <p>
         This template is instantiated by the library at the appropriate places while
         using the supplied container type as the template argument. The embedded
- <tt class="computeroutput"><span class="identifier">type</span></tt> is used as the attribute
+ <code class="computeroutput"><span class="identifier">type</span></code> is used as the attribute
         type while parsing the elements to be store in that container.
       </p>
 <p>
- The following example shows the predefined specialization for <tt class="computeroutput"><span class="identifier">unused_type</span></tt>:
+ The following example shows the predefined specialization for <code class="computeroutput"><span class="identifier">unused_type</span></code>:
       </p>
 <p>
         </p>
@@ -128,13 +122,13 @@
 <p>
       </p>
 <p>
- which defines its embedded <tt class="computeroutput"><span class="identifier">type</span></tt>
- to be <tt class="computeroutput"><span class="identifier">unused_type</span></tt> as well,
+ which defines its embedded <code class="computeroutput"><span class="identifier">type</span></code>
+ to be <code class="computeroutput"><span class="identifier">unused_type</span></code> as well,
         this way propagating the 'don't care' attribute status to the embedded parser.
       </p>
 <p>
         All attribute customization points follow the same scheme. The last template
- parameter is always <tt class="computeroutput"><span class="keyword">typename</span> <span class="identifier">Enable</span> <span class="special">=</span> <span class="keyword">void</span></tt> allowing to apply SFINAE for fine grained
+ parameter is always <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">Enable</span> <span class="special">=</span> <span class="keyword">void</span></code> allowing to apply SFINAE for fine grained
         control over the template specialization process. But most of the time you
         can safely forget about its existence.
       </p>
@@ -142,11 +136,11 @@
         The following sections will describe all customization points, together with
         a description which needs to be specialized for what purpose.
       </p>
-<a name="spirit.advanced.customize.the_usage_of_customization_points"></a><h4>
-<a name="id725224"></a>
- <a href="customize.html#spirit.advanced.customize.the_usage_of_customization_points">The
+<a name="spirit.advanced.customize.the_usage_of_customization_points"></a><h5>
+<a name="id913151"></a>
+ <a class="link" href="customize.html#spirit.advanced.customize.the_usage_of_customization_points">The
         Usage of Customization Points</a>
- </h4>
+ </h5>
 <p>
         The different customizations points are used by different parts of the library.
         Part of the customizations points are used by both, <span class="emphasis"><em>Spirit.Qi</em></span>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Store a Parsed
- Attribute Value (Qi)</title>
+<title>Store a Parsed Attribute Value (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="previous" href="transform.html" title=" Transform an
- Attribute to a Different Type (Qi and Karma)">
-<link rel="next" href="assign_to/assign_to_attribute_from_iterators.html" title="
- Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
+<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)">
+<link rel="next" href="assign_to/assign_to_attribute_from_iterators.html" title="Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,15 +22,11 @@
 <div class="spirit-nav">
 <a accesskey="p" href="transform.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="assign_to/assign_to_attribute_from_iterators.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.customize.assign_to"></a><a href="assign_to.html" title=" Store a Parsed
- Attribute Value (Qi)"> Store a Parsed
+<div class="section" title="Store a Parsed Attribute Value (Qi)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.assign_to"></a><a class="link" href="assign_to.html" title="Store a Parsed Attribute Value (Qi)"> Store a Parsed
         Attribute Value (Qi)</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="assign_to/assign_to_attribute_from_iterators.html">
           Store an Attribute after a Parser Produced a Pair of Iterators (Qi)</a></span></dt>
@@ -44,8 +36,8 @@
 <p>
           After parsing input and generting an attribute value this value needs to
           assigned to the attribute instance provided by the user. The customization
- points <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_iterators</span></tt>
- and <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></tt>
+ points <code class="computeroutput"><span class="identifier">assign_to_attribute_from_iterators</span></code>
+ and <code class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></code>
           are utilized to adapt this assignment to the concrete type to be assigned.
           This section describes both.
         </p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- Store an Attribute after a Parser Produced a Pair of Iterators (Qi)</title>
+<title>Store an Attribute after a Parser Produced a Pair of Iterators (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../assign_to.html" title=" Store a Parsed
- Attribute Value (Qi)">
-<link rel="previous" href="../assign_to.html" title=" Store a Parsed
- Attribute Value (Qi)">
-<link rel="next" href="assign_to_attribute_from_value.html" title="
- Store an Attribute Value after a Parser Produced a Value (Qi)">
+<link rel="up" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
+<link rel="prev" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
+<link rel="next" href="assign_to_attribute_from_value.html" title="Store an Attribute Value after a Parser Produced a Value (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,21 +22,17 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../assign_to.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign_to.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="assign_to_attribute_from_value.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h5 class="title">
-<a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators"></a><a href="assign_to_attribute_from_iterators.html" title="
- Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
+<div class="section" title="Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators"></a><a class="link" href="assign_to_attribute_from_iterators.html" title="Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
           Store an Attribute after a Parser Produced a Pair of Iterators (Qi)</a>
-</h5></div></div>
-<div></div>
-</div>
+</h5></div></div></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.assign_to_attribute_from_iterators"></a><h6>
-<a name="id728724"></a>
- assign_to_attribute_from_iterators
+<a name="id919106"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.assign_to_attribute_from_iterators">assign_to_attribute_from_iterators</a>
           </h6>
 <p>
- The template <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_iterators</span></tt>
+ The template <code class="computeroutput"><span class="identifier">assign_to_attribute_from_iterators</span></code>
             is a type used as an attribute customization point. It is invoked by
             the those <span class="emphasis"><em>Qi</em></span> parsers not producing any attribute
             value but returning a pair of iterators pointing to the matched input
@@ -49,49 +41,53 @@
             attribute as provided by the user.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.module_headers"></a><h6>
-<a name="id728780"></a>
- <a href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.module_headers">Module
+<a name="id919134"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.module_headers">Module
             Headers</a>
           </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">qi</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">assign_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
               This header file does not need to be included directly by any user
               program as it is normally included by other Spirit header files relying
               on its content.
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.namespace"></a><h6>
-<a name="id728920"></a>
- Namespace
+<a name="id919226"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                     Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.synopsis"></a><h6>
-<a name="id729020"></a>
- Synopsis
+<a name="id919299"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">assign_to_attribute_from_iterators</span><span class="special">;</span>
 </pre>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.template_parameters"></a><h6>
-<a name="id729138"></a>
- <a href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.template_parameters">Template
+<a name="id919377"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.template_parameters">Template
             parameters</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -101,88 +97,112 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Attrib</span></code>
                     is the type of the attribute as passed in by the user.
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Iterator</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Iterator</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Iterator</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Iterator</span></code>
                     is the type of the iterators as produced by the parser.
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.notation"></a><h6>
-<a name="id729412"></a>
- Notation
+<a name="id919578"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.notation">Notation</a>
           </h6>
-<div class="variablelist">
+<div class="variablelist" title="Notation">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">Attrib</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Attrib</span></code></span></dt>
 <dd><p>
                 A type to be used as the target to store the attribute value in.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">attr</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
 <dd><p>
- A attribute instance of type <tt class="computeroutput"><span class="identifier">Attrib</span></tt>.
+ A attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">Iterator</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Iterator</span></code></span></dt>
 <dd><p>
                 The iterator type used by the parser. This type usually corresponds
                 to the iterators as passed in by the user.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">begin</span></tt>,
- <tt class="computeroutput"><span class="identifier">end</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">begin</span></code>,
+ <code class="computeroutput"><span class="identifier">end</span></code></span></dt>
 <dd><p>
- Iterator instances of type <tt class="computeroutput"><span class="identifier">Iterator</span></tt>
+ Iterator instances of type <code class="computeroutput"><span class="identifier">Iterator</span></code>
                 pointing to the begin and the end of the matched input sequence.
               </p></dd>
 </dl>
 </div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.expression_semantics"></a><h6>
-<a name="id729580"></a>
- <a href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.expression_semantics">Expression
+<a name="id919692"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.expression_semantics">Expression
             Semantics</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -191,32 +211,38 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
 <td>
-<p>
+ <p>
                     
 </p>
 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">assign_to_attribute_from_iterators</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">,</span> <span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span></pre>
 <p>
                   </p>
-</td>
-<td><p>
- Use the iterators <tt class="computeroutput"><span class="identifier">begin</span></tt>
- and <tt class="computeroutput"><span class="identifier">end</span></tt> to initialize
- the attribute <tt class="computeroutput"><span class="identifier">attr</span></tt>.
- </p></td>
+ </td>
+<td>
+ <p>
+ Use the iterators <code class="computeroutput"><span class="identifier">begin</span></code>
+ and <code class="computeroutput"><span class="identifier">end</span></code> to initialize
+ the attribute <code class="computeroutput"><span class="identifier">attr</span></code>.
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.predefined_specializations"></a><h6>
-<a name="id729783"></a>
- <a href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.predefined_specializations">Predefined
+<a name="id919834"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.predefined_specializations">Predefined
             Specializations</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -225,49 +251,61 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
- Type
- </p></th>
-<th><p>
+<th>
+ <p>
+ Template Parameters
+ </p>
+ </th>
+<th>
+ <p>
                     Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>, <tt class="computeroutput"><span class="identifier">Iterator</span></tt>
- </p></td>
-<td><p>
- Execute an assignment <tt class="computeroutput"><span class="identifier">attr</span>
- <span class="special">=</span> <span class="identifier">Attrib</span><span class="special">(</span><span class="identifier">begin</span><span class="special">,</span> <span class="identifier">end</span><span class="special">)</span></tt>.
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>, <code class="computeroutput"><span class="identifier">Iterator</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Execute an assignment <code class="computeroutput"><span class="identifier">attr</span>
+ <span class="special">=</span> <span class="identifier">Attrib</span><span class="special">(</span><span class="identifier">begin</span><span class="special">,</span> <span class="identifier">end</span><span class="special">)</span></code>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>,
- <tt class="computeroutput"><span class="identifier">T</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>,
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Do nothing.
- </p></td>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.when_to_implement"></a><h6>
-<a name="id729980"></a>
- <a href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.when_to_implement">When
+<a name="id919981"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.when_to_implement">When
             to implement</a>
           </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_iterators</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">assign_to_attribute_from_iterators</span></code>
             needs to be implemented for a specific type whenever the default implementation
             as shown above is not applicable. Examples for this could be that the
- type <tt class="computeroutput"><span class="identifier">Attrib</span></tt> is not constructible
+ type <code class="computeroutput"><span class="identifier">Attrib</span></code> is not constructible
             from the pair of iterators.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.example"></a><h6>
-<a name="id730039"></a>
- Example
+<a name="id920012"></a>
+ <a class="link" href="assign_to_attribute_from_iterators.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.example">Example</a>
           </h6>
 <p>
             TBD

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- Store an Attribute Value after a Parser Produced a Value (Qi)</title>
+<title>Store an Attribute Value after a Parser Produced a Value (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../assign_to.html" title=" Store a Parsed
- Attribute Value (Qi)">
-<link rel="previous" href="assign_to_attribute_from_iterators.html" title="
- Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
-<link rel="next" href="../store_value.html" title=" Store Parsed
- Attribute Values into a Container (Qi)">
+<link rel="up" href="../assign_to.html" title="Store a Parsed Attribute Value (Qi)">
+<link rel="prev" href="assign_to_attribute_from_iterators.html" title="Store an Attribute after a Parser Produced a Pair of Iterators (Qi)">
+<link rel="next" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,69 +22,69 @@
 <div class="spirit-nav">
 <a accesskey="p" href="assign_to_attribute_from_iterators.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign_to.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="../store_value.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h5 class="title">
-<a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value"></a><a href="assign_to_attribute_from_value.html" title="
- Store an Attribute Value after a Parser Produced a Value (Qi)">
+<div class="section" title="Store an Attribute Value after a Parser Produced a Value (Qi)">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value"></a><a class="link" href="assign_to_attribute_from_value.html" title="Store an Attribute Value after a Parser Produced a Value (Qi)">
           Store an Attribute Value after a Parser Produced a Value (Qi)</a>
-</h5></div></div>
-<div></div>
-</div>
+</h5></div></div></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.assign_to_attribute_from_value"></a><h6>
-<a name="id730091"></a>
- assign_to_attribute_from_value
+<a name="id920040"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.assign_to_attribute_from_value">assign_to_attribute_from_value</a>
           </h6>
 <p>
- The template <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></tt>
+ The template <code class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></code>
             is a type used as an attribute customization point. It is invoked by
             the all primitive <span class="emphasis"><em>Qi</em></span> parsers in order to store a
             parsed attribute value into the attribute instance provided by the user.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.module_headers"></a><h6>
-<a name="id730143"></a>
- <a href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.module_headers">Module
+<a name="id920067"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.module_headers">Module
             Headers</a>
           </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">qi</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">assign_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
               This header file does not need to be included directly by any user
               program as it is normally included by other Spirit header files relying
               on its content.
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.namespace"></a><h6>
-<a name="id730284"></a>
- Namespace
+<a name="id920160"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                     Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.synopsis"></a><h6>
-<a name="id730383"></a>
- Synopsis
+<a name="id920233"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">assign_to_attribute_from_value</span><span class="special">;</span>
 </pre>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.template_parameters"></a><h6>
-<a name="id730498"></a>
- <a href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.template_parameters">Template
+<a name="id920311"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.template_parameters">Template
             parameters</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -98,86 +94,110 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Attrib</span></code>
                     is the type of the attribute as passed in by the user.
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">T</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">T</span></tt> is
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">T</span></code> is
                     the type of the attribute instance as produced by the parser.
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.notation"></a><h6>
-<a name="id730771"></a>
- Notation
+<a name="id920511"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.notation">Notation</a>
           </h6>
-<div class="variablelist">
+<div class="variablelist" title="Notation">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">Attrib</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Attrib</span></code></span></dt>
 <dd><p>
                 A type to be used as the target to store the attribute value in.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">attr</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
 <dd><p>
- A attribute instance of type <tt class="computeroutput"><span class="identifier">Attrib</span></tt>.
+ A attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">T</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span></code></span></dt>
 <dd><p>
                 A type as produced by the parser. The parser temporarily stores its
                 parsed values using this type.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">t</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">t</span></code></span></dt>
 <dd><p>
- A attribute instance of type <tt class="computeroutput"><span class="identifier">T</span></tt>.
+ A attribute instance of type <code class="computeroutput"><span class="identifier">T</span></code>.
               </p></dd>
 </dl>
 </div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.expression_semantics"></a><h6>
-<a name="id730922"></a>
- <a href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.expression_semantics">Expression
+<a name="id920618"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.expression_semantics">Expression
             Semantics</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -186,31 +206,37 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
 <td>
-<p>
+ <p>
                     
 </p>
 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">assign_to_attribute_from_value</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span></pre>
 <p>
                   </p>
-</td>
-<td><p>
- Copy (assign) the value, <tt class="computeroutput"><span class="identifier">t</span></tt>
- to the attribute <tt class="computeroutput"><span class="identifier">attr</span></tt>.
- </p></td>
+ </td>
+<td>
+ <p>
+ Copy (assign) the value, <code class="computeroutput"><span class="identifier">t</span></code>
+ to the attribute <code class="computeroutput"><span class="identifier">attr</span></code>.
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.predefined_specializations"></a><h6>
-<a name="id731100"></a>
- <a href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.predefined_specializations">Predefined
+<a name="id920745"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.predefined_specializations">Predefined
             Specializations</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -219,49 +245,61 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
- Type
- </p></th>
-<th><p>
+<th>
+ <p>
+ Template Parameters
+ </p>
+ </th>
+<th>
+ <p>
                     Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>, <tt class="computeroutput"><span class="identifier">T</span></tt>
- </p></td>
-<td><p>
- Assign the argument <tt class="computeroutput"><span class="identifier">t</span></tt>
- to <tt class="computeroutput"><span class="identifier">attr</span></tt>.
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>, <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign the argument <code class="computeroutput"><span class="identifier">t</span></code>
+ to <code class="computeroutput"><span class="identifier">attr</span></code>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>,
- <tt class="computeroutput"><span class="identifier">T</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>,
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Do nothing.
- </p></td>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.when_to_implement"></a><h6>
-<a name="id731270"></a>
- <a href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.when_to_implement">When
+<a name="id920870"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.when_to_implement">When
             to implement</a>
           </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">assign_to_attribute_from_value</span></code>
             needs to be implemented for a specific type whenever the default implementation
             as shown above is not applicable. Examples for this could be that the
- type <tt class="computeroutput"><span class="identifier">Attrib</span></tt> is not copy
+ type <code class="computeroutput"><span class="identifier">Attrib</span></code> is not copy
             constructible.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.example"></a><h6>
-<a name="id731330"></a>
- Example
+<a name="id920901"></a>
+ <a class="link" href="assign_to_attribute_from_value.html#spirit.advanced.customize.assign_to.assign_to_attribute_from_value.example">Example</a>
           </h6>
 <p>
             TBD

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Re-Initialize
- an Attribute Value before Parsing (Qi)</title>
+<title>Re-Initialize an Attribute Value before Parsing (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="previous" href="store_value/push_back.html" title="
- Store a Parsed Attribute Value into a Container (Qi)">
-<link rel="next" href="extract_from.html" title=" Extract an
- Attribute Value to Generate Output (Karma)">
+<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="store_value/push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)">
+<link rel="next" href="extract_from.html" title="Extract an Attribute Value to Generate Output (Karma)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,77 +22,76 @@
 <div class="spirit-nav">
 <a accesskey="p" href="store_value/push_back.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="extract_from.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.customize.clear_value"></a><a href="clear_value.html" title=" Re-Initialize
- an Attribute Value before Parsing (Qi)"> Re-Initialize
+<div class="section" title="Re-Initialize an Attribute Value before Parsing (Qi)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.clear_value"></a><a class="link" href="clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)"> Re-Initialize
         an Attribute Value before Parsing (Qi)</a>
-</h4></div></div>
-<div></div>
-</div>
-<a name="spirit.advanced.customize.clear_value.clear_value"></a><h5>
-<a name="id735411"></a>
- clear_value
- </h5>
+</h4></div></div></div>
+<a name="spirit.advanced.customize.clear_value.clear_value"></a><h6>
+<a name="id925643"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.clear_value">clear_value</a>
+ </h6>
 <p>
- The template <tt class="computeroutput"><span class="identifier">clear_value</span></tt>
+ The template <code class="computeroutput"><span class="identifier">clear_value</span></code>
           is a type used as an attribute customization point. It is invoked by the
- <span class="emphasis"><em>Qi</em></span> repetitive parsers (Kleene,
- Plus, List,
- and <a href="../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>)
+ <span class="emphasis"><em>Qi</em></span> repetitive parsers (<a class="link" href="../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>, <a class="link" href="../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ and <a class="link" href="../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>)
           in order to re-initialize the attribute instance passed to the embedded
           parser after it has been stored in the provided container. This re-initialized
           attribute instance is reused during the next iteration of the repetitive
           parser.
         </p>
-<a name="spirit.advanced.customize.clear_value.module_headers"></a><h5>
-<a name="id735497"></a>
- <a href="clear_value.html#spirit.advanced.customize.clear_value.module_headers">Module
+<a name="spirit.advanced.customize.clear_value.module_headers"></a><h6>
+<a name="id925690"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.module_headers">Module
           Headers</a>
- </h5>
+ </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">attributes</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
             This header file does not need to be included directly by any user program
             as it is normally included by other Spirit header files relying on its
             content.
           </p></td></tr>
 </table></div>
-<a name="spirit.advanced.customize.clear_value.namespace"></a><h5>
-<a name="id735627"></a>
- Namespace
- </h5>
+<a name="spirit.advanced.customize.clear_value.namespace"></a><h6>
+<a name="id925775"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.namespace">Namespace</a>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                   Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.clear_value.synopsis"></a><h5>
-<a name="id735723"></a>
- Synopsis
- </h5>
+<a name="spirit.advanced.customize.clear_value.synopsis"></a><h6>
+<a name="id925849"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.synopsis">Synopsis</a>
+ </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">clear_value</span><span class="special">;</span>
 </pre>
-<a name="spirit.advanced.customize.clear_value.template_parameters"></a><h5>
-<a name="id735818"></a>
- <a href="clear_value.html#spirit.advanced.customize.clear_value.template_parameters">Template
+<a name="spirit.advanced.customize.clear_value.template_parameters"></a><h6>
+<a name="id925916"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.template_parameters">Template
           parameters</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
@@ -104,105 +99,129 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Attrib</span></code>
                   of the attribute to be re-initialized.
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                   none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                   Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">clear_value</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">clear_value</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.clear_value.notation"></a><h5>
-<a name="id736043"></a>
- Notation
- </h5>
-<div class="variablelist">
+<a name="spirit.advanced.customize.clear_value.notation"></a><h6>
+<a name="id926081"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.notation">Notation</a>
+ </h6>
+<div class="variablelist" title="Notation">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">Attrib</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Attrib</span></code></span></dt>
 <dd><p>
               A type to be used as a container to store attribute values in.
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">attr</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
 <dd><p>
- A attribute instance of type <tt class="computeroutput"><span class="identifier">Attrib</span></tt>.
+ A attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>.
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span></tt>,
- <tt class="computeroutput"><span class="identifier">T2</span></tt>, ...</span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span></code>,
+ <code class="computeroutput"><span class="identifier">T2</span></code>, ...</span></dt>
 <dd><p>
               Arbitrary types
             </p></dd>
 </dl>
 </div>
-<a name="spirit.advanced.customize.clear_value.expression_semantics"></a><h5>
-<a name="id736169"></a>
- <a href="clear_value.html#spirit.advanced.customize.clear_value.expression_semantics">Expression
+<a name="spirit.advanced.customize.clear_value.expression_semantics"></a><h6>
+<a name="id926174"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.expression_semantics">Expression
           Semantics</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
 <td>
-<p>
+ <p>
                   
 </p>
 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">clear_value</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">Attrib</span><span class="special">&amp;</span> <span class="identifier">attr</span><span class="special">)</span></pre>
 <p>
                 </p>
-</td>
-<td><p>
- Re-initialize the instance referred to by <tt class="computeroutput"><span class="identifier">attr</span></tt>
+ </td>
+<td>
+ <p>
+ Re-initialize the instance referred to by <code class="computeroutput"><span class="identifier">attr</span></code>
                   in the most efficient way.
- </p></td>
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.clear_value.predefined_specializations"></a><h5>
-<a name="id736322"></a>
- <a href="clear_value.html#spirit.advanced.customize.clear_value.predefined_specializations">Predefined
+<a name="spirit.advanced.customize.clear_value.predefined_specializations"></a><h6>
+<a name="id926290"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.predefined_specializations">Predefined
           Specializations</a>
- </h5>
+ </h6>
 <p>
           <a href="http://spirit.sourceforge.net" target="_top">Spirit</a> predefines specializations
           of this customization point for several types. The following table lists
@@ -214,90 +233,118 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Template Parameters
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Value
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                   Re-initialize using assignment of default constructed value.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- Any type <tt class="computeroutput"><span class="identifier">T</span></tt> for
- which <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;&gt;::</span><span class="identifier">type</span></tt>
- is <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>
- </p></td>
-<td><p>
- Call the member function <tt class="computeroutput"><span class="identifier">attr</span><span class="special">.</span><span class="identifier">clear</span><span class="special">()</span></tt> for the passed attribute instance.
- </p></td>
+<td>
+ <p>
+ Any type <code class="computeroutput"><span class="identifier">T</span></code> for
+ which <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;&gt;::</span><span class="identifier">type</span></code>
+ is <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Call the member function <code class="computeroutput"><span class="identifier">attr</span><span class="special">.</span><span class="identifier">clear</span><span class="special">()</span></code> for the passed attribute instance.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></tt>
- </p></td>
-<td><p>
- Clear the <tt class="computeroutput"><span class="identifier">optional</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Clear the <code class="computeroutput"><span class="identifier">optional</span></code>
                   instance and leave it uninitialized.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
                   <span class="identifier">T2</span><span class="special">,</span>
- <span class="special">...&gt;</span></tt>
- </p></td>
-<td><p>
- Invoke the <tt class="computeroutput"><span class="identifier">clear_value</span></tt>
+ <span class="special">...&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Invoke the <code class="computeroutput"><span class="identifier">clear_value</span></code>
                   customization point for the currently held value.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
                   <span class="identifier">T2</span><span class="special">,</span>
- <span class="special">...&gt;</span></tt>
- </p></td>
-<td><p>
- Invoke the <tt class="computeroutput"><span class="identifier">clear_value</span></tt>
+ <span class="special">...&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Invoke the <code class="computeroutput"><span class="identifier">clear_value</span></code>
                   customization point for all elements of the tuple.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                   Do nothing.
- </p></td>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.clear_value.when_to_implement"></a><h5>
-<a name="id736793"></a>
- <a href="clear_value.html#spirit.advanced.customize.clear_value.when_to_implement">When
+<a name="spirit.advanced.customize.clear_value.when_to_implement"></a><h6>
+<a name="id926638"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.when_to_implement">When
           to Implement</a>
- </h5>
+ </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">clear_value</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">clear_value</span></code>
           needs to be implemented for a specific type whenever this type is to be
           used as an attribute to be stored into a STL container and if the type
           cannot be re-initialized using one of the specializations listed above.
           Examples for this might be types not being default constructible or container
- types not exposing a member function <tt class="computeroutput"><span class="identifier">clear</span><span class="special">()</span></tt>.
+ types not exposing a member function <code class="computeroutput"><span class="identifier">clear</span><span class="special">()</span></code>.
         </p>
-<a name="spirit.advanced.customize.clear_value.example"></a><h5>
-<a name="id736858"></a>
- Example
- </h5>
+<a name="spirit.advanced.customize.clear_value.example"></a><h6>
+<a name="id926673"></a>
+ <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.example">Example</a>
+ </h6>
 <p>
           TBD
         </p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,16 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Extract an
- Attribute Value to Generate Output (Karma)</title>
+<title>Extract an Attribute Value to Generate Output (Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="previous" href="clear_value.html" title=" Re-Initialize
- an Attribute Value before Parsing (Qi)">
-<link rel="next" href="../../support.html" title=" Supporting libraries">
+<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)">
+<link rel="next" href="iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -23,75 +20,72 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="clear_value.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="../../support.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="clear_value.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="iterate.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.customize.extract_from"></a><a href="extract_from.html" title=" Extract an
- Attribute Value to Generate Output (Karma)"> Extract an
+<div class="section" title="Extract an Attribute Value to Generate Output (Karma)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.extract_from"></a><a class="link" href="extract_from.html" title="Extract an Attribute Value to Generate Output (Karma)"> Extract an
         Attribute Value to Generate Output (Karma)</a>
-</h4></div></div>
-<div></div>
-</div>
-<a name="spirit.advanced.customize.extract_from.extract_from"></a><h5>
-<a name="id736907"></a>
- extract_from
- </h5>
+</h4></div></div></div>
+<a name="spirit.advanced.customize.extract_from.extract_from"></a><h6>
+<a name="id926702"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.extract_from">extract_from</a>
+ </h6>
 <p>
- Before generating output for an value this value needs to extracted from
- the attribute instance provided by the user. The customization point <tt class="computeroutput"><span class="identifier">extract_from</span></tt> is utilized to adapt this
+ Before generating output for a value this value needs to extracted from
+ the attribute instance provided by the user. The customization point <code class="computeroutput"><span class="identifier">extract_from</span></code> is utilized to adapt this
           extraction for any data type possibly used to store the values to output.
         </p>
-<p>
- Short description here...
- </p>
-<a name="spirit.advanced.customize.extract_from.module_headers"></a><h5>
-<a name="id736957"></a>
- <a href="extract_from.html#spirit.advanced.customize.extract_from.module_headers">Module
+<a name="spirit.advanced.customize.extract_from.module_headers"></a><h6>
+<a name="id926726"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.module_headers">Module
           Headers</a>
- </h5>
+ </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">karma</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">extract_from</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
             This header file does not need to be included directly by any user program
             as it is normally included by other Spirit header files relying on its
             content.
           </p></td></tr>
 </table></div>
-<a name="spirit.advanced.customize.extract_from.namespace"></a><h5>
-<a name="id737096"></a>
- Namespace
- </h5>
+<a name="spirit.advanced.customize.extract_from.namespace"></a><h6>
+<a name="id926818"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.namespace">Namespace</a>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                   Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.extract_from.synopsis"></a><h5>
-<a name="id737193"></a>
- Synopsis
- </h5>
+<a name="spirit.advanced.customize.extract_from.synopsis"></a><h6>
+<a name="id926891"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.synopsis">Synopsis</a>
+ </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">extract_from_attribute</span><span class="special">;</span>
 </pre>
-<a name="spirit.advanced.customize.extract_from.template_parameters"></a><h5>
-<a name="id737287"></a>
- <a href="extract_from.html#spirit.advanced.customize.extract_from.template_parameters">Template
+<a name="spirit.advanced.customize.extract_from.template_parameters"></a><h6>
+<a name="id926959"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.template_parameters">Template
           parameters</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
@@ -99,104 +93,124 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Attrib</span></code>
                   of the attribute to be used to generate output from.
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                   none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                   Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">clear_value</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">clear_value</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.extract_from.notation"></a><h5>
-<a name="id737512"></a>
- Notation
- </h5>
-<div class="variablelist">
+<a name="spirit.advanced.customize.extract_from.notation"></a><h6>
+<a name="id927124"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.notation">Notation</a>
+ </h6>
+<div class="variablelist" title="Notation">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">Attrib</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Attrib</span></code></span></dt>
 <dd><p>
               A type to be used to generate output from.
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">attr</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
 <dd><p>
- A attribute instance of type <tt class="computeroutput"><span class="identifier">Attrib</span></tt>.
+ A attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>.
             </p></dd>
 </dl>
 </div>
-<a name="spirit.advanced.customize.extract_from.expression_semantics"></a><h5>
-<a name="id737599"></a>
- <a href="extract_from.html#spirit.advanced.customize.extract_from.expression_semantics">Expression
+<a name="spirit.advanced.customize.extract_from.expression_semantics"></a><h6>
+<a name="id927190"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.expression_semantics">Expression
           Semantics</a>
- </h5>
-<p>
- Semantics of an expression is defined only where it differs from, or is
- not defined in _concept-of<span class="underline">XXX</span>.
- </p>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
 <td>
-<p>
+ <p>
                   
 </p>
 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">extract_from_attribute</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">attr</span><span class="special">)</span></pre>
 <p>
                 </p>
-</td>
-<td><p>
+ </td>
+<td>
+ <p>
                   Extract the value to generate output from and return it to the
                   caller.
- </p></td>
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.extract_from.predefined_specializations"></a><h5>
-<a name="id737742"></a>
- <a href="extract_from.html#spirit.advanced.customize.extract_from.predefined_specializations">Predefined
+<a name="spirit.advanced.customize.extract_from.predefined_specializations"></a><h6>
+<a name="id928461"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.predefined_specializations">Predefined
           Specializations</a>
- </h5>
+ </h6>
 <p>
           <a href="http://spirit.sourceforge.net" target="_top">Spirit</a> predefines specializations
           of this customization point for several types. The following table lists
@@ -208,80 +222,100 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Template Parameters
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Value
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- The exposed typedef <tt class="computeroutput"><span class="identifier">type</span></tt>
- is defined to <tt class="computeroutput"><span class="identifier">Attrib</span>
- <span class="keyword">const</span><span class="special">&amp;</span></tt>.
- The function <tt class="computeroutput"><span class="identifier">call</span><span class="special">()</span></tt> returns the argument by reference
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
+ is defined to <code class="computeroutput"><span class="identifier">Attrib</span>
+ <span class="keyword">const</span><span class="special">&amp;</span></code>.
+ The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns the argument by reference
                   without change.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></tt>
- </p></td>
-<td><p>
- The exposed typedef <tt class="computeroutput"><span class="identifier">type</span></tt>
- is defined to <tt class="computeroutput"><span class="identifier">Attrib</span>
- <span class="keyword">const</span><span class="special">&amp;</span></tt>.
- The function <tt class="computeroutput"><span class="identifier">call</span><span class="special">()</span></tt> returns the value held by the
- <tt class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
+ is defined to <code class="computeroutput"><span class="identifier">Attrib</span>
+ <span class="keyword">const</span><span class="special">&amp;</span></code>.
+ The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns the value held by the
+ <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code>
                   argument by reference without change.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></tt>
- </p></td>
-<td><p>
- The exposed typedef <tt class="computeroutput"><span class="identifier">type</span></tt>
- is defined to <tt class="computeroutput"><span class="identifier">Attrib</span>
- <span class="keyword">const</span><span class="special">&amp;</span></tt>.
- The function <tt class="computeroutput"><span class="identifier">call</span><span class="special">()</span></tt> returns the value held by the
- <tt class="computeroutput"><span class="identifier">reference_wrapper</span><span class="special">&lt;&gt;</span></tt> argument by reference without
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">Attrib</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
+ is defined to <code class="computeroutput"><span class="identifier">Attrib</span>
+ <span class="keyword">const</span><span class="special">&amp;</span></code>.
+ The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns the value held by the
+ <code class="computeroutput"><span class="identifier">reference_wrapper</span><span class="special">&lt;&gt;</span></code> argument by reference without
                   change.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>
- </p></td>
-<td><p>
- The exposed typedef <tt class="computeroutput"><span class="identifier">type</span></tt>
- is defined to <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
- The function <tt class="computeroutput"><span class="identifier">call</span><span class="special">()</span></tt> returns an instance of <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The exposed typedef <code class="computeroutput"><span class="identifier">type</span></code>
+ is defined to <code class="computeroutput"><span class="identifier">unused_type</span></code>.
+ The function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> returns an instance of <code class="computeroutput"><span class="identifier">unused_type</span></code>.
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.extract_from.when_to_implement"></a><h5>
-<a name="id738237"></a>
- <a href="extract_from.html#spirit.advanced.customize.extract_from.when_to_implement">When
+<a name="spirit.advanced.customize.extract_from.when_to_implement"></a><h6>
+<a name="id928806"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.when_to_implement">When
           to implement</a>
- </h5>
+ </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">extract_from_attribute</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">extract_from_attribute</span></code>
           needs to be implemented for a specific type whenever the default implementation
           as shown above is not applicable. Examples for this could be that the type
- to be extracted is different from <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
+ to be extracted is different from <code class="computeroutput"><span class="identifier">Attrib</span></code>
           and is not copy constructible.
         </p>
-<a name="spirit.advanced.customize.extract_from.example"></a><h5>
-<a name="id738294"></a>
- Example
- </h5>
+<a name="spirit.advanced.customize.extract_from.example"></a><h6>
+<a name="id928839"></a>
+ <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.example">Example</a>
+ </h6>
 <p>
           TBD
         </p>
@@ -297,7 +331,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="clear_value.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="../../support.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="clear_value.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="iterate.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/is_container.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/is_container.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/is_container.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Determine
- if a Type Should be Treated as a Container (Qi and Karma)</title>
+<title>Determine if a Type Should be Treated as a Container (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="previous" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="next" href="transform.html" title=" Transform an
- Attribute to a Different Type (Qi and Karma)">
+<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="next" href="transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,76 +22,72 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../customize.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="transform.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.customize.is_container"></a><a href="is_container.html" title=" Determine
- if a Type Should be Treated as a Container (Qi and Karma)"> Determine
+<div class="section" title="Determine if a Type Should be Treated as a Container (Qi and Karma)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.is_container"></a><a class="link" href="is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"> Determine
         if a Type Should be Treated as a Container (Qi and Karma)</a>
-</h4></div></div>
-<div></div>
-</div>
-<a name="spirit.advanced.customize.is_container.is_container"></a><h5>
-<a name="id725294"></a>
- is_container
- </h5>
+</h4></div></div></div>
+<a name="spirit.advanced.customize.is_container.is_container"></a><h6>
+<a name="id913187"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.is_container">is_container</a>
+ </h6>
 <p>
- The template <tt class="computeroutput"><span class="identifier">is_container</span></tt>
+ The template <code class="computeroutput"><span class="identifier">is_container</span></code>
           is a template meta-function used as an attribute customization point. It
- is invoked by the <span class="emphasis"><em>Qi</em></span> <a href="../../qi/reference/operator/sequence.html" title=" Sequence
- (a &gt;&gt;
- b)">Sequence</a>
- (<tt class="computeroutput"><span class="special">&gt;&gt;</span></tt>) and <span class="emphasis"><em>Karma</em></span>
- <a href="../../karma/reference/operator/sequence.html" title=" Sequences
- (a &lt;&lt;
- b)">Sequence (<tt class="computeroutput"><span class="special">&lt;&lt;</span></tt>)</a> operators in order to determine
+ is invoked by the <span class="emphasis"><em>Qi</em></span> <a class="link" href="../../qi/reference/operator/sequence.html" title="Sequence (a &gt;&gt; b)">Sequence</a>
+ (<code class="computeroutput"><span class="special">&gt;&gt;</span></code>) and <span class="emphasis"><em>Karma</em></span>
+ <a class="link" href="../../karma/reference/operator/sequence.html" title="Sequences (a &lt;&lt; b)">Sequence (<code class="computeroutput"><span class="special">&lt;&lt;</span></code>)</a> operators in order to determine
           whether a supplied attribute can potentially be treated as a container.
         </p>
-<a name="spirit.advanced.customize.is_container.header"></a><h5>
-<a name="id725389"></a>
- Header
- </h5>
+<a name="spirit.advanced.customize.is_container.header"></a><h6>
+<a name="id913242"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.header">Header</a>
+ </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
             This header file does not need to be included directly by any user program
             as it is normally included by other Spirit header files relying on its
             content.
           </p></td></tr>
 </table></div>
-<a name="spirit.advanced.customize.is_container.namespace"></a><h5>
-<a name="id725515"></a>
- Namespace
- </h5>
+<a name="spirit.advanced.customize.is_container.namespace"></a><h6>
+<a name="id913328"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.namespace">Namespace</a>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                   Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.is_container.synopsis"></a><h5>
-<a name="id725612"></a>
- Synopsis
- </h5>
+<a name="spirit.advanced.customize.is_container.synopsis"></a><h6>
+<a name="id913401"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.synopsis">Synopsis</a>
+ </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">is_container</span><span class="special">;</span>
 </pre>
-<a name="spirit.advanced.customize.is_container.template_parameters"></a><h5>
-<a name="id725707"></a>
- <a href="is_container.html#spirit.advanced.customize.is_container.template_parameters">Template
+<a name="spirit.advanced.customize.is_container.template_parameters"></a><h6>
+<a name="id913468"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.template_parameters">Template
           parameters</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
@@ -103,104 +95,130 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Container</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Container</span></tt>
- needs to be tested whether it has to be treated as a container
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Container</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Container</span></code>
+ which needs to be tested whether it has to be treated as a container
+ </p>
+ </td>
+<td>
+ <p>
                   none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                   Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">is_container</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">is_container</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.is_container.notation"></a><h5>
-<a name="id725932"></a>
- Notation
- </h5>
+<a name="spirit.advanced.customize.is_container.notation"></a><h6>
+<a name="id913634"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.notation">Notation</a>
+ </h6>
 <div class="variablelist">
 <p class="title"><b></b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">C</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
 <dd><p>
               A type to be tested whether it needs to be treated as a container.
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span></tt>,
- <tt class="computeroutput"><span class="identifier">T2</span></tt>, ...</span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span></code>,
+ <code class="computeroutput"><span class="identifier">T2</span></code>, ...</span></dt>
 <dd><p>
               Arbitrary types
             </p></dd>
 </dl>
 </div>
-<a name="spirit.advanced.customize.is_container.expression_semantics"></a><h5>
-<a name="id726022"></a>
- <a href="is_container.html#spirit.advanced.customize.is_container.expression_semantics">Expression
+<a name="spirit.advanced.customize.is_container.expression_semantics"></a><h6>
+<a name="id913700"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.expression_semantics">Expression
           Semantics</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- </p></td>
-<td><p>
- Metafunction that evaluates to <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>
- if a given type, <tt class="computeroutput"><span class="identifier">C</span></tt>,
- is to be treated as a container, <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Result of the metafunction that evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
+ if a given type, <code class="computeroutput"><span class="identifier">C</span></code>,
+ is to be treated as a container, <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>
                   otherwise (See <a href="../../../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
                   Boolean Constant</a>).
- </p></td>
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.is_container.predefined_specializations"></a><h5>
-<a name="id726198"></a>
- <a href="is_container.html#spirit.advanced.customize.is_container.predefined_specializations">Predefined
+<a name="spirit.advanced.customize.is_container.predefined_specializations"></a><h6>
+<a name="id913829"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.predefined_specializations">Predefined
           Specializations</a>
- </h5>
+ </h6>
 <p>
           <a href="http://spirit.sourceforge.net" target="_top">Spirit</a> predefines specializations
           of this customization point for several types. The following table lists
           those types together with the conditions for which the corresponding specializations
- will evaluate to <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt> (see <a href="../../../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
+ will evaluate to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> (see <a href="../../../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
           Boolean Constant</a>):
         </p>
 <div class="informaltable"><table class="table">
@@ -209,84 +227,103 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Template Parameters
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Value
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">T</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt> if <tt class="computeroutput"><span class="identifier">T</span></tt>
- has the following embedded types defined: <tt class="computeroutput"><span class="identifier">value_type</span></tt>,
- <tt class="computeroutput"><span class="identifier">iterator</span></tt>, <tt class="computeroutput"><span class="identifier">size_type</span></tt>, and<tt class="computeroutput"><span class="identifier">reference</span></tt>.
- Otherwise it will return <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> if <code class="computeroutput"><span class="identifier">T</span></code>
+ has the following embedded types defined: <code class="computeroutput"><span class="identifier">value_type</span></code>,
+ <code class="computeroutput"><span class="identifier">iterator</span></code>, <code class="computeroutput"><span class="identifier">size_type</span></code>, and<code class="computeroutput"><span class="identifier">reference</span></code>.
+ Otherwise it will return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
                   <span class="identifier">T2</span><span class="special">,</span>
- <span class="special">...&gt;</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt> if at least one of the
- <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> returns <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>
- (where <tt class="computeroutput"><span class="identifier">TN</span></tt> is <tt class="computeroutput"><span class="identifier">T1</span></tt>, <tt class="computeroutput"><span class="identifier">T2</span></tt>,
- ...). Otherwise it will return <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>.
- </p></td>
+ <span class="special">...&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> if at least one of the
+ <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></code> returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
+ (where <code class="computeroutput"><span class="identifier">TN</span></code> is <code class="computeroutput"><span class="identifier">T1</span></code>, <code class="computeroutput"><span class="identifier">T2</span></code>,
+ ...). Otherwise it will return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>.
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.is_container.when_to_implement"></a><h5>
-<a name="id726779"></a>
- <a href="is_container.html#spirit.advanced.customize.is_container.when_to_implement">When
+<a name="spirit.advanced.customize.is_container.when_to_implement"></a><h6>
+<a name="id915492"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.when_to_implement">When
           to implement</a>
- </h5>
+ </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">is_container</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">is_container</span></code>
           needs to be implemented for a specific type whenever this type is to be
           used as an attribute in place of a STL container. It is applicable for
           parsers (<span class="emphasis"><em>Spirit.Qi</em></span>) and generators (<span class="emphasis"><em>Spirit.Karma</em></span>).
           As a rule of thumb: it has to be implemented whenever a certain type is
           to be passed as an attribute to a parser or a generator normally exposing
- a STL container and if the type does not expose the interface of a STL
- container (i.e. <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- would normally return <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>).
- These components have an attribute propagation rule in the form:
+ a STL container, <code class="computeroutput"><span class="identifier">C</span></code> and
+ if the type does not expose the interface of a STL container (i.e. <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code> would normally return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>). These components have an attribute
+ propagation rule in the form:
         </p>
 <pre class="programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span> <span class="special">--&gt;</span> <span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">):</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
 </pre>
 <p>
- where <tt class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></tt> stands
- for any meaningful operation on the component <tt class="computeroutput"><span class="identifier">a</span></tt>.
+ where <code class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> stands
+ for any meaningful operation on the component <code class="computeroutput"><span class="identifier">a</span></code>.
         </p>
-<a name="spirit.advanced.customize.is_container.related_attribute_customization_points"></a><h5>
-<a name="id727008"></a>
- <a href="is_container.html#spirit.advanced.customize.is_container.related_attribute_customization_points">Related
+<a name="spirit.advanced.customize.is_container.related_attribute_customization_points"></a><h6>
+<a name="id915651"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.related_attribute_customization_points">Related
           Attribute Customization Points</a>
- </h5>
+ </h6>
 <p>
           If this customization point is implemented, the following other customization
           points need to be implemented as well.
@@ -297,127 +334,148 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Name
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   When to implement
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <a href="store_value/container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)"><tt class="computeroutput"><span class="identifier">container_value</span></tt></a>
- </p></td>
-<td><p>
- Needs to be implemented whenever <tt class="computeroutput"><span class="identifier">is_container</span></tt>
+<td>
+ <p>
+ <a class="link" href="store_value/container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">container_value</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever <code class="computeroutput"><span class="identifier">is_container</span></code>
                   is implemented.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <a href="store_value/push_back.html" title="
- Store a Parsed Attribute Value into a Container (Qi)"><tt class="computeroutput"><span class="identifier">push_back_container</span></tt></a>
- </p></td>
-<td><p>
- Qi: List,
- Kleene,
- Plus,
- <a href="../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">container_iterator</span></tt>
- </p></td>
-<td><p>
- Karma: <a href="../../karma/reference/operator/list.html" title=" Lists (a % b)">List
- (<tt class="computeroutput"><span class="special">%</span></tt>)</a>, <a href="../../karma/reference/operator/kleene.html" title=" Kleene Star
- (*a)">Kleene (unary
- <tt class="computeroutput"><span class="special">*</span></tt>)</a>, <a href="../../karma/reference/operator/plus.html" title=" Plus (+a)">Plus
- (unary <tt class="computeroutput"><span class="special">+</span></tt>)</a>,
- <a href="../../karma/reference/directive/repeat.html" title=" Repetition
- Directive (repeat[])">Repeat</a>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">begin_container</span></tt>
- </p></td>
-<td><p>
- Karma: <a href="../../karma/reference/operator/list.html" title=" Lists (a % b)">List
- (<tt class="computeroutput"><span class="special">%</span></tt>)</a>, <a href="../../karma/reference/operator/kleene.html" title=" Kleene Star
- (*a)">Kleene (unary
- <tt class="computeroutput"><span class="special">*</span></tt>)</a>, <a href="../../karma/reference/operator/plus.html" title=" Plus (+a)">Plus
- (unary <tt class="computeroutput"><span class="special">+</span></tt>)</a>,
- <a href="../../karma/reference/directive/repeat.html" title=" Repetition
- Directive (repeat[])">Repeat</a>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">end_container</span></tt>
- </p></td>
-<td><p>
- Karma: <a href="../../karma/reference/operator/list.html" title=" Lists (a % b)">List
- (<tt class="computeroutput"><span class="special">%</span></tt>)</a>, <a href="../../karma/reference/operator/kleene.html" title=" Kleene Star
- (*a)">Kleene (unary
- <tt class="computeroutput"><span class="special">*</span></tt>)</a>, <a href="../../karma/reference/operator/plus.html" title=" Plus (+a)">Plus
- (unary <tt class="computeroutput"><span class="special">+</span></tt>)</a>,
- <a href="../../karma/reference/directive/repeat.html" title=" Repetition
- Directive (repeat[])">Repeat</a>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">deref_iterator</span></tt>
- </p></td>
-<td><p>
- Karma: <a href="../../karma/reference/operator/list.html" title=" Lists (a % b)">List
- (<tt class="computeroutput"><span class="special">%</span></tt>)</a>, <a href="../../karma/reference/operator/kleene.html" title=" Kleene Star
- (*a)">Kleene (unary
- <tt class="computeroutput"><span class="special">*</span></tt>)</a>, <a href="../../karma/reference/operator/plus.html" title=" Plus (+a)">Plus
- (unary <tt class="computeroutput"><span class="special">+</span></tt>)</a>,
- <a href="../../karma/reference/directive/repeat.html" title=" Repetition
- Directive (repeat[])">Repeat</a>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">next_iterator</span></tt>
- </p></td>
-<td><p>
- Karma: <a href="../../karma/reference/operator/list.html" title=" Lists (a % b)">List
- (<tt class="computeroutput"><span class="special">%</span></tt>)</a>, <a href="../../karma/reference/operator/kleene.html" title=" Kleene Star
- (*a)">Kleene (unary
- <tt class="computeroutput"><span class="special">*</span></tt>)</a>, <a href="../../karma/reference/operator/plus.html" title=" Plus (+a)">Plus
- (unary <tt class="computeroutput"><span class="special">+</span></tt>)</a>,
- <a href="../../karma/reference/directive/repeat.html" title=" Repetition
- Directive (repeat[])">Repeat</a>.
- </p></td>
-</tr>
-<tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">compare_iterators</span></tt>
- </p></td>
-<td><p>
- Karma: <a href="../../karma/reference/operator/list.html" title=" Lists (a % b)">List
- (<tt class="computeroutput"><span class="special">%</span></tt>)</a>, <a href="../../karma/reference/operator/kleene.html" title=" Kleene Star
- (*a)">Kleene (unary
- <tt class="computeroutput"><span class="special">*</span></tt>)</a>, <a href="../../karma/reference/operator/plus.html" title=" Plus (+a)">Plus
- (unary <tt class="computeroutput"><span class="special">+</span></tt>)</a>,
- <a href="../../karma/reference/directive/repeat.html" title=" Repetition
- Directive (repeat[])">Repeat</a>.
- </p></td>
+<td>
+ <p>
+ <a class="link" href="store_value/push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)"><code class="computeroutput"><span class="identifier">push_back_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Qi: <a class="link" href="../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ <a class="link" href="../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>,
+ <a class="link" href="../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="iterate/container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../karma/reference/operator/plus.html" title="Plus (+a)">Plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>,
+ <a class="link" href="../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="iterate/begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../karma/reference/operator/plus.html" title="Plus (+a)">Plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>,
+ <a class="link" href="../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="iterate/end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../karma/reference/operator/plus.html" title="Plus (+a)">Plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>,
+ <a class="link" href="../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="iterate/deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../karma/reference/operator/plus.html" title="Plus (+a)">Plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>,
+ <a class="link" href="../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="iterate/next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../karma/reference/operator/plus.html" title="Plus (+a)">Plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>,
+ <a class="link" href="../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="iterate/compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../karma/reference/operator/plus.html" title="Plus (+a)">Plus
+ (unary <code class="computeroutput"><span class="special">+</span></code>)</a>,
+ <a class="link" href="../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
-<a name="spirit.advanced.customize.is_container.example"></a><h5>
-<a name="id727794"></a>
- Example
- </h5>
+<a name="spirit.advanced.customize.is_container.example"></a><h6>
+<a name="id916184"></a>
+ <a class="link" href="is_container.html#spirit.advanced.customize.is_container.example">Example</a>
+ </h6>
 <p>
           TBD
         </p>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Extract Attribute Values to Generate Output from a Container (Karma)</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="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="extract_from.html" title="Extract an Attribute Value to Generate Output (Karma)">
+<link rel="next" href="iterate/container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)">
+</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="extract_from.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="iterate/container_iterator.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.iterate"></a><a class="link" href="iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)"> Extract Attribute
+ Values to Generate Output from a Container (Karma)</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="iterate/container_iterator.html">
+ Determine the Type of the Iterator of a Container (Karma)</a></span></dt>
+<dt><span class="section"><a href="iterate/begin_container.html">
+ Get the Iterator pointing to the Begin of a Container Attribute</a></span></dt>
+<dt><span class="section"><a href="iterate/end_container.html">
+ Get the Iterator pointing to the End of a Container Attribute</a></span></dt>
+<dt><span class="section"><a href="iterate/next_iterator.html">
+ Increment the Iterator pointing into a Container Attribute</a></span></dt>
+<dt><span class="section"><a href="iterate/deref_iterator.html">
+ Dereference the Iterator pointing into a Container Attribute</a></span></dt>
+<dt><span class="section"><a href="iterate/compare_iterators.html">
+ Compare two Iterator pointing into a Container Attribute for Equality</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2001-2009 Joel
+ de Guzman, Hartmut Kaiser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extract_from.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="iterate/container_iterator.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,464 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Get the Iterator pointing to the Begin of a Container Attribute</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="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="prev" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)">
+<link rel="next" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute">
+</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="container_iterator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="end_container.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Get the Iterator pointing to the Begin of a Container Attribute">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.iterate.begin_container"></a><a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute">
+ Get the Iterator pointing to the Begin of a Container Attribute</a>
+</h5></div></div></div>
+<a name="spirit.advanced.customize.iterate.begin_container.begin_container"></a><h6>
+<a name="id930301"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.begin_container">begin_container</a>
+ </h6>
+<p>
+ The template <code class="computeroutput"><span class="identifier">begin_container</span></code>
+ is a type used as an attribute customization point. It is invoked by
+ the <span class="emphasis"><em>Karma</em></span> repetitive generators (such as <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene
+ (unary <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, and <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>)
+ in order to get an iterator pointing to the first element of the container
+ holding the attributes to generate output from.
+ </p>
+<a name="spirit.advanced.customize.iterate.begin_container.module_headers"></a><h6>
+<a name="id930369"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.module_headers">Module
+ Headers</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<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>
+ This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.
+ </p></td></tr>
+</table></div>
+<a name="spirit.advanced.customize.iterate.begin_container.namespace"></a><h6>
+<a name="id930457"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.namespace">Namespace</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.begin_container.synopsis"></a><h6>
+<a name="id930535"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">begin_container</span><span class="special">;</span>
+</pre>
+<a name="spirit.advanced.customize.iterate.begin_container.template_parameters"></a><h6>
+<a name="id932247"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.template_parameters">Template
+ parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Container</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Container</span></code>
+ for which the iterator pointing to the first element has to be
+ returned
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Helper template parameter usable to selectively enable or disable
+ certain specializations of <code class="computeroutput"><span class="identifier">begin_container</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.begin_container.notation"></a><h6>
+<a name="id932412"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.notation">Notation</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
+<dd><p>
+ A container type the begin iterator needs to be returned for.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt>
+<dd><p>
+ An instance of a container, <code class="computeroutput"><span class="identifier">C</span></code>.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.advanced.customize.iterate.begin_container.expression_semantics"></a><h6>
+<a name="id932477"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<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">begin_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Return the iterator usable to dereference the first element of
+ the given container, <code class="computeroutput"><span class="identifier">c</span></code>.
+ The type of the returned iterator is expected to be the same
+ as the type returned by the customization point <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The returned instance conceptually needs to be equivalent to a standard
+ forward iterator. But it does not have to expose the standardized interface.
+ If this customization point is implemented for a certain container type,
+ all related customization points need to be implemented as well (see
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points">Related
+ Attribute Customization Points</a> below). This encapsulates the specific
+ iterator interface required for a given type. The minimal requirements
+ for a type to be exposed as an iterator in this context are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ it needs to be comparable for equality (see <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>),
+ </li>
+<li class="listitem">
+ it needs to be incrementable (see <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>),
+ </li>
+<li class="listitem">
+ it needs to be dereferencible (see <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>).
+ </li>
+</ul></div>
+<a name="spirit.advanced.customize.iterate.begin_container.predefined_specializations"></a><h6>
+<a name="id932643"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.predefined_specializations">Predefined
+ Specializations</a>
+ </h6>
+<p>
+ Spirit predefines
+ specializations of this customization point for several types. The following
+ table lists those types together with the types returned by the embedded
+ typedef <code class="computeroutput"><span class="identifier">type</span></code>:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Template Parameters
+ </p>
+ </th>
+<th>
+ <p>
+ Value
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span> <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="special">&amp;</span><span class="identifier">unused</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.begin_container.when_to_implement"></a><h6>
+<a name="id932830"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.when_to_implement">When
+ to implement</a>
+ </h6>
+<p>
+ The customization point <code class="computeroutput"><span class="identifier">begin_container</span></code>
+ needs to be implemented for a specific type whenever this type is to
+ be used as an attribute in place of a STL container. It is applicable
+ for generators (<span class="emphasis"><em>Spirit.Karma</em></span>) only. As a rule of
+ thumb: it has to be implemented whenever a certain type is to be passed
+ as an attribute to a generator normally exposing a STL container, <code class="computeroutput"><span class="identifier">C</span></code> and if the type does not expose the
+ interface of a STL container (i.e. <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ would normally return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>).
+ </p>
+<a name="spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points"></a><h6>
+<a name="id932901"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points">Related
+ Attribute Customization Points</a>
+ </h6>
+<p>
+ If this customization point is implemented, the following other customization
+ points need to be implemented as well.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ When to implement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">is_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever a type is to be used as a container
+ attribute in <span class="emphasis"><em>Karma</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.begin_container.example"></a><h6>
+<a name="id933388"></a>
+ <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </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="container_iterator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="end_container.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,223 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Compare two Iterator pointing into a Container Attribute for Equality</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="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="prev" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute">
+<link rel="next" href="../../../support.html" title="Supporting libraries">
+</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="deref_iterator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="../../../support.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Compare two Iterator pointing into a Container Attribute for Equality">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.iterate.compare_iterators"></a><a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality">
+ Compare two Iterator pointing into a Container Attribute for Equality</a>
+</h5></div></div></div>
+<a name="spirit.advanced.customize.iterate.compare_iterators.compare_iterators"></a><h6>
+<a name="id936668"></a>
+ <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.compare_iterators">compare_iterators</a>
+ </h6>
+<p>
+ Short description here...
+ </p>
+<a name="spirit.advanced.customize.iterate.compare_iterators.module_headers"></a><h6>
+<a name="id936684"></a>
+ <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.module_headers">Module
+ Headers</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<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>
+ This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.
+ </p></td></tr>
+</table></div>
+<a name="spirit.advanced.customize.iterate.compare_iterators.namespace"></a><h6>
+<a name="id936772"></a>
+ <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.namespace">Namespace</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.compare_iterators.related_attribute_customization_points"></a><h6>
+<a name="id936848"></a>
+ <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.related_attribute_customization_points">Related
+ Attribute Customization Points</a>
+ </h6>
+<p>
+ If this customization point is implemented, the following other customization
+ points need to be implemented as well.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ When to implement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">is_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever a type is to be used as a container
+ attribute in <span class="emphasis"><em>Karma</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.compare_iterators.example"></a><h6>
+<a name="id937608"></a>
+ <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </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="deref_iterator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="../../../support.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,458 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Determine the Type of the Iterator of a Container (Karma)</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="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="prev" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="next" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute">
+</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="../iterate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="begin_container.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Determine the Type of the Iterator of a Container (Karma)">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.iterate.container_iterator"></a><a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)">
+ Determine the Type of the Iterator of a Container (Karma)</a>
+</h5></div></div></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.container_iterator"></a><h6>
+<a name="id928876"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.container_iterator">container_iterator</a>
+ </h6>
+<p>
+ The template <code class="computeroutput"><span class="identifier">container_iterator</span></code>
+ is a template meta-function used as an attribute customization point.
+ It is invoked by the <span class="emphasis"><em>Karma</em></span> repetitive generators
+ (such as <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene
+ (unary <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, and <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>)
+ in order to determine the type of the iterator to use to iterate over
+ the items to be exposed as the elements of a container.
+ </p>
+<a name="spirit.advanced.customize.iterate.container_iterator.module_headers"></a><h6>
+<a name="id928945"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.module_headers">Module
+ Headers</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<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>
+ This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.
+ </p></td></tr>
+</table></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.namespace"></a><h6>
+<a name="id929032"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.namespace">Namespace</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.synopsis"></a><h6>
+<a name="id929110"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">container_iterator</span><span class="special">;</span>
+</pre>
+<a name="spirit.advanced.customize.iterate.container_iterator.template_parameters"></a><h6>
+<a name="id929178"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.template_parameters">Template
+ parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Container</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Container</span></code>
+ for which the iterator type has to be returned
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Helper template parameter usable to selectively enable or disable
+ certain specializations of <code class="computeroutput"><span class="identifier">container_iterator</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.notation"></a><h6>
+<a name="id929343"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.notation">Notation</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
+<dd><p>
+ A container type the iterator type needs to be evaluated for.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.advanced.customize.iterate.container_iterator.expression_semantics"></a><h6>
+<a name="id929383"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<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">container_iterator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Result of the metafunction that evaluates the type to be used
+ as the iterator for accessing all elements of a container, <code class="computeroutput"><span class="identifier">C</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The returned type conceptually needs to be equivalent to a standard forward
+ iterator. But it does not have to expose the standardized interface.
+ If this customization point is implemented for a certain container type,
+ all related customization points need to be implemented as well (see
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.related_attribute_customization_points">Related
+ Attribute Customization Points</a> below). This encapsulates the specific
+ iterator interface required for a given type. The minimal requirements
+ for a type to be exposed as an iterator in this context are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ it needs to be comparable for equality (see <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>),
+ </li>
+<li class="listitem">
+ it needs to be incrementable (see <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>),
+ </li>
+<li class="listitem">
+ it needs to be dereferencible (see <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>).
+ </li>
+</ul></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.predefined_specializations"></a><h6>
+<a name="id929528"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.predefined_specializations">Predefined
+ Specializations</a>
+ </h6>
+<p>
+ Spirit predefines
+ specializations of this customization point for several types. The following
+ table lists those types together with the types returned by the embedded
+ typedef <code class="computeroutput"><span class="identifier">type</span></code>:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Template Parameters
+ </p>
+ </th>
+<th>
+ <p>
+ Value
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span> <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">const_iterator</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">unused_type</span>
+ <span class="keyword">const</span><span class="special">*</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.when_to_implement"></a><h6>
+<a name="id929713"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.when_to_implement">When
+ to implement</a>
+ </h6>
+<p>
+ The customization point <code class="computeroutput"><span class="identifier">container_iterator</span></code>
+ needs to be implemented for a specific type whenever this type is to
+ be used as an attribute in place of a STL container. It is applicable
+ for generators (<span class="emphasis"><em>Spirit.Karma</em></span>) only. As a rule of
+ thumb: it has to be implemented whenever a certain type is to be passed
+ as an attribute to a generator normally exposing a STL container, <code class="computeroutput"><span class="identifier">C</span></code> and if the type does not expose the
+ interface of a STL container (i.e. <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ would normally return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>).
+ </p>
+<a name="spirit.advanced.customize.iterate.container_iterator.related_attribute_customization_points"></a><h6>
+<a name="id929784"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.related_attribute_customization_points">Related
+ Attribute Customization Points</a>
+ </h6>
+<p>
+ If this customization point is implemented, the following other customization
+ points need to be implemented as well.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ When to implement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">is_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever a type is to be used as a container
+ attribute in <span class="emphasis"><em>Karma</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.container_iterator.example"></a><h6>
+<a name="id930271"></a>
+ <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </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="../iterate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="begin_container.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,223 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Dereference the Iterator pointing into a Container Attribute</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="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="prev" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute">
+<link rel="next" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality">
+</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="next_iterator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="compare_iterators.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Dereference the Iterator pointing into a Container Attribute">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.iterate.deref_iterator"></a><a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute">
+ Dereference the Iterator pointing into a Container Attribute</a>
+</h5></div></div></div>
+<a name="spirit.advanced.customize.iterate.deref_iterator.deref_iterator"></a><h6>
+<a name="id935963"></a>
+ <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.deref_iterator">deref_iterator</a>
+ </h6>
+<p>
+ Short description here...
+ </p>
+<a name="spirit.advanced.customize.iterate.deref_iterator.module_headers"></a><h6>
+<a name="id935985"></a>
+ <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.module_headers">Module
+ Headers</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<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>
+ This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.
+ </p></td></tr>
+</table></div>
+<a name="spirit.advanced.customize.iterate.deref_iterator.namespace"></a><h6>
+<a name="id936075"></a>
+ <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.namespace">Namespace</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.deref_iterator.related_attribute_customization_points"></a><h6>
+<a name="id936150"></a>
+ <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.related_attribute_customization_points">Related
+ Attribute Customization Points</a>
+ </h6>
+<p>
+ If this customization point is implemented, the following other customization
+ points need to be implemented as well.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ When to implement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">is_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever a type is to be used as a container
+ attribute in <span class="emphasis"><em>Karma</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.deref_iterator.example"></a><h6>
+<a name="id936638"></a>
+ <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </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="next_iterator.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="compare_iterators.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,444 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Get the Iterator pointing to the End of a Container Attribute</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="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="prev" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute">
+<link rel="next" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute">
+</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="begin_container.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="next_iterator.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Get the Iterator pointing to the End of a Container Attribute">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.iterate.end_container"></a><a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute">
+ Get the Iterator pointing to the End of a Container Attribute</a>
+</h5></div></div></div>
+<a name="spirit.advanced.customize.iterate.end_container.end_container"></a><h6>
+<a name="id933420"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.end_container">end_container</a>
+ </h6>
+<p>
+ The template <code class="computeroutput"><span class="identifier">end_container</span></code>
+ is a type used as an attribute customization point. It is invoked by
+ the <span class="emphasis"><em>Karma</em></span> repetitive generators (such as <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene
+ (unary <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, and <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>)
+ in order to get an iterator pointing to the end of the container holding
+ the attributes to generate output from.
+ </p>
+<a name="spirit.advanced.customize.iterate.end_container.module_headers"></a><h6>
+<a name="id933494"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.module_headers">Module
+ Headers</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<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>
+ This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.
+ </p></td></tr>
+</table></div>
+<a name="spirit.advanced.customize.iterate.end_container.namespace"></a><h6>
+<a name="id933584"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.namespace">Namespace</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.end_container.synopsis"></a><h6>
+<a name="id933662"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">end_container</span><span class="special">;</span>
+</pre>
+<a name="spirit.advanced.customize.iterate.end_container.template_parameters"></a><h6>
+<a name="id933729"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.template_parameters">Template
+ parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Container</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Container</span></code>
+ for which the iterator pointing to the first element has to be
+ returned
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Helper template parameter usable to selectively enable or disable
+ certain specializations of <code class="computeroutput"><span class="identifier">end_container</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.end_container.notation"></a><h6>
+<a name="id933894"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.notation">Notation</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
+<dd><p>
+ A container type the end iterator needs to be returned for.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt>
+<dd><p>
+ An instance of a container, <code class="computeroutput"><span class="identifier">C</span></code>.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.advanced.customize.iterate.end_container.expression_semantics"></a><h6>
+<a name="id933959"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<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">end_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Return the iterator usable to compare a different iterator with
+ in order to detect whether the other iterator reached the end
+ of the given container, <code class="computeroutput"><span class="identifier">c</span></code>.
+ The type of the returned iterator is expected to be the same
+ as the type returned by the customization point <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.end_container.predefined_specializations"></a><h6>
+<a name="id934072"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.predefined_specializations">Predefined
+ Specializations</a>
+ </h6>
+<p>
+ Spirit predefines
+ specializations of this customization point for several types. The following
+ table lists those types together with the types returned by the embedded
+ typedef <code class="computeroutput"><span class="identifier">type</span></code>:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Template Parameters
+ </p>
+ </th>
+<th>
+ <p>
+ Value
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span> <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="special">&amp;</span><span class="identifier">unused</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.end_container.when_to_implement"></a><h6>
+<a name="id934259"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.when_to_implement">When
+ to implement</a>
+ </h6>
+<p>
+ The customization point <code class="computeroutput"><span class="identifier">end_container</span></code>
+ needs to be implemented for a specific type whenever this type is to
+ be used as an attribute in place of a STL container. It is applicable
+ for generators (<span class="emphasis"><em>Spirit.Karma</em></span>) only. As a rule of
+ thumb: it has to be implemented whenever a certain type is to be passed
+ as an attribute to a generator normally exposing a STL container, <code class="computeroutput"><span class="identifier">C</span></code> and if the type does not expose the
+ interface of a STL container (i.e. <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ would normally return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>).
+ </p>
+<a name="spirit.advanced.customize.iterate.end_container.related_attribute_customization_points"></a><h6>
+<a name="id934330"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.related_attribute_customization_points">Related
+ Attribute Customization Points</a>
+ </h6>
+<p>
+ If this customization point is implemented, the following other customization
+ points need to be implemented as well.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ When to implement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">is_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever a type is to be used as a container
+ attribute in <span class="emphasis"><em>Karma</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.end_container.example"></a><h6>
+<a name="id935231"></a>
+ <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </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="begin_container.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="next_iterator.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,223 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Increment the Iterator pointing into a Container Attribute</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="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
+<link rel="prev" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute">
+<link rel="next" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute">
+</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="end_container.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="deref_iterator.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Increment the Iterator pointing into a Container Attribute">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.iterate.next_iterator"></a><a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute">
+ Increment the Iterator pointing into a Container Attribute</a>
+</h5></div></div></div>
+<a name="spirit.advanced.customize.iterate.next_iterator.next_iterator"></a><h6>
+<a name="id935261"></a>
+ <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.next_iterator">next_iterator</a>
+ </h6>
+<p>
+ Short description here...
+ </p>
+<a name="spirit.advanced.customize.iterate.next_iterator.module_headers"></a><h6>
+<a name="id935283"></a>
+ <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.module_headers">Module
+ Headers</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<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>
+ This header file does not need to be included directly by any user
+ program as it is normally included by other Spirit header files relying
+ on its content.
+ </p></td></tr>
+</table></div>
+<a name="spirit.advanced.customize.iterate.next_iterator.namespace"></a><h6>
+<a name="id935373"></a>
+ <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.namespace">Namespace</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.next_iterator.related_attribute_customization_points"></a><h6>
+<a name="id935448"></a>
+ <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.related_attribute_customization_points">Related
+ Attribute Customization Points</a>
+ </h6>
+<p>
+ If this customization point is implemented, the following other customization
+ points need to be implemented as well.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ When to implement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">is_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Needs to be implemented whenever a type is to be used as a container
+ attribute in <span class="emphasis"><em>Karma</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container (Karma)"><code class="computeroutput"><span class="identifier">container_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">begin_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">end_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">deref_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">next_iterator</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">compare_iterators</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="Lists (a % b)">List
+ (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star (*a)">Kleene (unary
+ <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Directive (repeat[])">Repeat</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.iterate.next_iterator.example"></a><h6>
+<a name="id935933"></a>
+ <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </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="end_container.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="deref_iterator.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Store Parsed
- Attribute Values into a Container (Qi)</title>
+<title>Store Parsed Attribute Values into a Container (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="previous" href="assign_to/assign_to_attribute_from_value.html" title="
- Store an Attribute Value after a Parser Produced a Value (Qi)">
-<link rel="next" href="store_value/container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)">
+<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="assign_to/assign_to_attribute_from_value.html" title="Store an Attribute Value after a Parser Produced a Value (Qi)">
+<link rel="next" href="store_value/container_value.html" title="Determine the Type to be Stored in a Container (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,15 +22,11 @@
 <div class="spirit-nav">
 <a accesskey="p" href="assign_to/assign_to_attribute_from_value.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="store_value/container_value.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.customize.store_value"></a><a href="store_value.html" title=" Store Parsed
- Attribute Values into a Container (Qi)"> Store Parsed
+<div class="section" title="Store Parsed Attribute Values into a Container (Qi)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.store_value"></a><a class="link" href="store_value.html" title="Store Parsed Attribute Values into a Container (Qi)"> Store Parsed
         Attribute Values into a Container (Qi)</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="store_value/container_value.html">
           Determine the Type to be Stored in a Container (Qi)</a></span></dt>
@@ -43,13 +35,10 @@
 </dl></div>
 <p>
           In order to customize Spirit to accept a given data type as a container
- for elements parsed by any of the repetitive parsers (Kleene,
- Plus, List,
- and <a href="../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>)
- two attribute customization points have to be specialized: <a href="store_value/container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)"><tt class="computeroutput"><span class="identifier">container_value</span></tt></a> and <a href="store_value/push_back.html" title="
- Store a Parsed Attribute Value into a Container (Qi)"><tt class="computeroutput"><span class="identifier">push_back_container</span></tt></a>. This section
+ for elements parsed by any of the repetitive parsers (<a class="link" href="../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>, <a class="link" href="../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ and <a class="link" href="../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>)
+ two attribute customization points have to be specialized: <a class="link" href="store_value/container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">container_value</span></code></a> and <a class="link" href="store_value/push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)"><code class="computeroutput"><span class="identifier">push_back_container</span></code></a>. This section
           describes both.
         </p>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- Determine the Type to be Stored in a Container (Qi)</title>
+<title>Determine the Type to be Stored in a Container (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../store_value.html" title=" Store Parsed
- Attribute Values into a Container (Qi)">
-<link rel="previous" href="../store_value.html" title=" Store Parsed
- Attribute Values into a Container (Qi)">
-<link rel="next" href="push_back.html" title="
- Store a Parsed Attribute Value into a Container (Qi)">
+<link rel="up" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
+<link rel="prev" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
+<link rel="next" href="push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,71 +22,70 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../store_value.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../store_value.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="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h5 class="title">
-<a name="spirit.advanced.customize.store_value.container_value"></a><a href="container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)">
+<div class="section" title="Determine the Type to be Stored in a Container (Qi)">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.store_value.container_value"></a><a class="link" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)">
           Determine the Type to be Stored in a Container (Qi)</a>
-</h5></div></div>
-<div></div>
-</div>
+</h5></div></div></div>
 <a name="spirit.advanced.customize.store_value.container_value.container_value"></a><h6>
-<a name="id731482"></a>
- container_value
+<a name="id922766"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.container_value">container_value</a>
           </h6>
 <p>
- The template <tt class="computeroutput"><span class="identifier">container_value</span></tt>
+ The template <code class="computeroutput"><span class="identifier">container_value</span></code>
             is a template meta function used as an attribute customization point.
- It is invoked by the <span class="emphasis"><em>Qi</em></span> repetitive parsers (Kleene, Plus,
- List, and <a href="../../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>) to determine
+ It is invoked by the <span class="emphasis"><em>Qi</em></span> repetitive parsers (<a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>, <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>,
+ <a class="link" href="../../../qi/reference/operator/list.html" title="List (a % b)">List</a>, and <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>) to determine
             the type to store in a container.
           </p>
 <a name="spirit.advanced.customize.store_value.container_value.module_headers"></a><h6>
-<a name="id731566"></a>
- <a href="container_value.html#spirit.advanced.customize.store_value.container_value.module_headers">Module
+<a name="id922812"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.module_headers">Module
             Headers</a>
           </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
               This header file does not need to be included directly by any user
               program as it is normally included by other Spirit header files relying
               on its content.
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.namespace"></a><h6>
-<a name="id731696"></a>
- Namespace
+<a name="id922900"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                     Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.synopsis"></a><h6>
-<a name="id731792"></a>
- Synopsis
+<a name="id922978"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">container_value</span><span class="special">;</span>
 </pre>
 <a name="spirit.advanced.customize.store_value.container_value.template_parameters"></a><h6>
-<a name="id731890"></a>
- <a href="container_value.html#spirit.advanced.customize.store_value.container_value.template_parameters">Template
+<a name="id923045"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.template_parameters">Template
             parameters</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -100,66 +95,84 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Container</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Container</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Container</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Container</span></code>
                     needs to be tested whether it has to be treated as a container
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">container_value</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">container_value</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.notation"></a><h6>
-<a name="id732114"></a>
- Notation
+<a name="id923211"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.notation">Notation</a>
           </h6>
 <div class="variablelist">
 <p class="title"><b></b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">C</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
 <dd><p>
                 A type to be tested whether it needs to be treated as a container.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span></tt>,
- <tt class="computeroutput"><span class="identifier">T2</span></tt>, ...</span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span></code>,
+ <code class="computeroutput"><span class="identifier">T2</span></code>, ...</span></dt>
 <dd><p>
                 Arbitrary types
               </p></dd>
 </dl>
 </div>
 <a name="spirit.advanced.customize.store_value.container_value.expression_semantics"></a><h6>
-<a name="id732206"></a>
- <a href="container_value.html#spirit.advanced.customize.store_value.container_value.expression_semantics">Expression
+<a name="id923277"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.expression_semantics">Expression
             Semantics</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -168,26 +181,34 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Metafunction that evaluates to the type to be stored in a given
- container type, <tt class="computeroutput"><span class="identifier">C</span></tt>.
- </p></td>
+ container type, <code class="computeroutput"><span class="identifier">C</span></code>.
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.predefined_specializations"></a><h6>
-<a name="id732332"></a>
- <a href="container_value.html#spirit.advanced.customize.store_value.container_value.predefined_specializations">Predefined
+<a name="id923369"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.predefined_specializations">Predefined
             Specializations</a>
           </h6>
 <p>
@@ -202,82 +223,102 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Template Parameters
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Value
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">C</span></tt>
- </p></td>
-<td><p>
- The non-const <tt class="computeroutput"><span class="identifier">value_type</span></tt>
- of the given container type, <tt class="computeroutput"><span class="identifier">C</span></tt>.
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The non-const <code class="computeroutput"><span class="identifier">value_type</span></code>
+ of the given container type, <code class="computeroutput"><span class="identifier">C</span></code>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
                     <span class="identifier">T2</span><span class="special">,</span>
- <span class="special">...&gt;</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">value</span></tt>
- for the first <tt class="computeroutput"><span class="identifier">TN</span></tt>
- (out of <tt class="computeroutput"><span class="identifier">T1</span></tt>,
- <tt class="computeroutput"><span class="identifier">T2</span></tt>, ...) for
- which <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- evaluates to <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
- Otherwise it will return <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
- </p></td>
+ <span class="special">...&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">container_value</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
+ for the first <code class="computeroutput"><span class="identifier">TN</span></code>
+ (out of <code class="computeroutput"><span class="identifier">T1</span></code>,
+ <code class="computeroutput"><span class="identifier">T2</span></code>, ...) for
+ which <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
+ Otherwise it will return <code class="computeroutput"><span class="identifier">unused_type</span></code>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>
- </p></td>
-<td><p>
- Returns <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">unused_type</span></code>.
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.when_to_implement"></a><h6>
-<a name="id732797"></a>
- <a href="container_value.html#spirit.advanced.customize.store_value.container_value.when_to_implement">When
+<a name="id923700"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.when_to_implement">When
             to implement</a>
           </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">is_container</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">is_container</span></code>
             needs to be implemented for a specific type whenever this type is to
             be used as an attribute in place of a STL container. It is applicable
             for parsers (<span class="emphasis"><em>Spirit.Qi</em></span>) only. As a rule of thumb:
             it has to be implemented whenever a certain type is to be passed as an
             attribute to a parser normally exposing a STL container and if the type
             does not expose the interface of a STL container (i.e. no embedded typedef
- for <tt class="computeroutput"><span class="identifier">value_type</span></tt>). These
+ for <code class="computeroutput"><span class="identifier">value_type</span></code>). These
             components have an attribute propagation rule in the form:
           </p>
 <pre class="programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span> <span class="special">--&gt;</span> <span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">):</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
 </pre>
 <p>
- where <tt class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></tt>
- stands for any meaningful operation on the component <tt class="computeroutput"><span class="identifier">a</span></tt>.
+ where <code class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ stands for any meaningful operation on the component <code class="computeroutput"><span class="identifier">a</span></code>.
           </p>
 <a name="spirit.advanced.customize.store_value.container_value.related_attribute_customization_points"></a><h6>
-<a name="id732979"></a>
- <a href="container_value.html#spirit.advanced.customize.store_value.container_value.related_attribute_customization_points">Related
+<a name="id923817"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
 <p>
@@ -290,45 +331,53 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Name
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     When to implement
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <a href="push_back.html" title="
- Store a Parsed Attribute Value into a Container (Qi)"><tt class="computeroutput"><span class="identifier">push_back_container</span></tt></a>
- </p></td>
-<td><p>
- Qi: List,
- Kleene,
- Plus,
- <a href="../../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>.
- </p></td>
+<td>
+ <p>
+ <a class="link" href="push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)"><code class="computeroutput"><span class="identifier">push_back_container</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Qi: <a class="link" href="../../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ <a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>,
+ <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <a href="../clear_value.html" title=" Re-Initialize
- an Attribute Value before Parsing (Qi)"><tt class="computeroutput"><span class="identifier">clear_value</span></tt></a>
- </p></td>
-<td><p>
- Qi: List,
- Kleene,
- Plus,
- <a href="../../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>.
- </p></td>
+<td>
+ <p>
+ <a class="link" href="../clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)"><code class="computeroutput"><span class="identifier">clear_value</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Qi: <a class="link" href="../../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ <a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>,
+ <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>.
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.example"></a><h6>
-<a name="id733194"></a>
- Example
+<a name="id923962"></a>
+ <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.example">Example</a>
           </h6>
 <p>
             TBD

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>
- Store a Parsed Attribute Value into a Container (Qi)</title>
+<title>Store a Parsed Attribute Value into a Container (Qi)</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../store_value.html" title=" Store Parsed
- Attribute Values into a Container (Qi)">
-<link rel="previous" href="container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)">
-<link rel="next" href="../clear_value.html" title=" Re-Initialize
- an Attribute Value before Parsing (Qi)">
+<link rel="up" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)">
+<link rel="prev" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)">
+<link rel="next" href="../clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,71 +22,70 @@
 <div class="spirit-nav">
 <a accesskey="p" href="container_value.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../store_value.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="../clear_value.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h5 class="title">
-<a name="spirit.advanced.customize.store_value.push_back"></a><a href="push_back.html" title="
- Store a Parsed Attribute Value into a Container (Qi)">
+<div class="section" title="Store a Parsed Attribute Value into a Container (Qi)">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.advanced.customize.store_value.push_back"></a><a class="link" href="push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)">
           Store a Parsed Attribute Value into a Container (Qi)</a>
-</h5></div></div>
-<div></div>
-</div>
+</h5></div></div></div>
 <a name="spirit.advanced.customize.store_value.push_back.push_back_container"></a><h6>
-<a name="id733245"></a>
- push_back_container
+<a name="id923993"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.push_back_container">push_back_container</a>
           </h6>
 <p>
- The template <tt class="computeroutput"><span class="identifier">push_back_container</span></tt>
+ The template <code class="computeroutput"><span class="identifier">push_back_container</span></code>
             is a type used as an attribute customization point. It is invoked by
- the <span class="emphasis"><em>Qi</em></span> repetitive parsers (Kleene,
- Plus, List, and <a href="../../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>)
+ the <span class="emphasis"><em>Qi</em></span> repetitive parsers (<a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>, <a class="link" href="../../../qi/reference/operator/list.html" title="List (a % b)">List</a>, and <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>)
             to store a parsed attribute value into a container.
           </p>
 <a name="spirit.advanced.customize.store_value.push_back.module_headers"></a><h6>
-<a name="id733328"></a>
- <a href="push_back.html#spirit.advanced.customize.store_value.push_back.module_headers">Module
+<a name="id924042"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.module_headers">Module
             Headers</a>
           </h6>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
               This header file does not need to be included directly by any user
               program as it is normally included by other Spirit header files relying
               on its content.
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.namespace"></a><h6>
-<a name="id733457"></a>
- Namespace
+<a name="id924132"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                     Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.synopsis"></a><h6>
-<a name="id733554"></a>
- Synopsis
+<a name="id924210"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">push_back_container</span><span class="special">;</span>
 </pre>
 <a name="spirit.advanced.customize.store_value.push_back.template_parameters"></a><h6>
-<a name="id733668"></a>
- <a href="push_back.html#spirit.advanced.customize.store_value.push_back.template_parameters">Template
+<a name="id924291"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.template_parameters">Template
             parameters</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -100,97 +95,120 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Container</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Container</span></tt>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Container</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Container</span></code>
                     needs to be tested whether it has to be treated as a container
- </p></td>
-<td><p>
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- The type, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- is the one returned from the customization point <a href="container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)"><tt class="computeroutput"><span class="identifier">container_value</span></tt></a> and
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type, <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ is the one returned from the customization point <a class="link" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">container_value</span></code></a> and
                     represents the attribute value to be stored in the container
- of type <tt class="computeroutput"><span class="identifier">Container</span></tt>.
- </p></td>
-<td><p>
+ of type <code class="computeroutput"><span class="identifier">Container</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
                     none
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">Enable</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Helper template parameter usable to selectively enable or disable
- certain specializations of <tt class="computeroutput"><span class="identifier">push_back_container</span></tt>
- utilizing SFINAE (i.e. <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
- or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></tt>).
- </p></td>
-<td><p>
- <tt class="computeroutput"><span class="keyword">void</span></tt>
- </p></td>
+ certain specializations of <code class="computeroutput"><span class="identifier">push_back_container</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.notation"></a><h6>
-<a name="id733974"></a>
- Notation
+<a name="id924510"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.notation">Notation</a>
           </h6>
 <div class="variablelist">
 <p class="title"><b></b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">C</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
 <dd><p>
                 A type to be used as a container to store attribute values in.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">c</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt>
 <dd>
 <p>
- A container instance of type <tt class="computeroutput"><span class="identifier">C</span></tt>.
+ A container instance of type <code class="computeroutput"><span class="identifier">C</span></code>.
               </p>
 <p>
- [<tt class="computeroutput"><span class="identifier">Attrib</span></tt>
+ [<code class="computeroutput"><span class="identifier">Attrib</span></code>
               </p>
 <p>
                 A type to be used as a container to store attribute values in.
               </p>
 </dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">attr</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
 <dd><p>
- A attribute instance of type <tt class="computeroutput"><span class="identifier">Attrib</span></tt>.
+ A attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>.
               </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span></tt>,
- <tt class="computeroutput"><span class="identifier">T2</span></tt>, ...</span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span></code>,
+ <code class="computeroutput"><span class="identifier">T2</span></code>, ...</span></dt>
 <dd><p>
                 Arbitrary types
               </p></dd>
 </dl>
 </div>
 <a name="spirit.advanced.customize.store_value.push_back.expression_semantics"></a><h6>
-<a name="id734163"></a>
- <a href="push_back.html#spirit.advanced.customize.store_value.push_back.expression_semantics">Expression
+<a name="id924648"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.expression_semantics">Expression
             Semantics</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -199,32 +217,38 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody><tr>
 <td>
-<p>
+ <p>
                     
 </p>
 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">push_back_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Attrib</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span></pre>
 <p>
                   </p>
-</td>
-<td><p>
+ </td>
+<td>
+ <p>
                     Static function that is invoked whenever an attribute value,
- <tt class="computeroutput"><span class="identifier">attr</span></tt> needs to
- be stored into the container instance <tt class="computeroutput"><span class="identifier">c</span></tt>.
- </p></td>
+ <code class="computeroutput"><span class="identifier">attr</span></code> needs to
+ be stored into the container instance <code class="computeroutput"><span class="identifier">c</span></code>.
+ </p>
+ </td>
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.predefined_specializations"></a><h6>
-<a name="id734338"></a>
- <a href="push_back.html#spirit.advanced.customize.store_value.push_back.predefined_specializations">Predefined
+<a name="id924776"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.predefined_specializations">Predefined
             Specializations</a>
           </h6>
 <p>
@@ -239,89 +263,109 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Template Parameters
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     Value
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">C</span></tt>, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- Store the provided attribute instance <tt class="computeroutput"><span class="identifier">attr</span></tt>
- into the given container <tt class="computeroutput"><span class="identifier">c</span></tt>
- using the function call <tt class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">attr</span><span class="special">)</span></tt>.
- </p></td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Store the provided attribute instance <code class="computeroutput"><span class="identifier">attr</span></code>
+ into the given container <code class="computeroutput"><span class="identifier">c</span></code>
+ using the function call <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">attr</span><span class="special">)</span></code>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span></tt>,
- <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
- If the provided instance of <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;&gt;</span></tt> is not initialized, invoke
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If the provided instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code> is not initialized, invoke
                     the appropriate initialization and afterwards apply the customization
- point <tt class="computeroutput"><span class="identifier">push_back_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Attrib</span><span class="special">&gt;</span></tt>, treating the instance held
- by the optional (of type <tt class="computeroutput"><span class="identifier">C</span></tt>)
+ point <code class="computeroutput"><span class="identifier">push_back_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Attrib</span><span class="special">&gt;</span></code>, treating the instance held
+ by the optional (of type <code class="computeroutput"><span class="identifier">C</span></code>)
                     as the container to store the attribute in.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span>
                     <span class="identifier">T2</span><span class="special">,</span>
- <span class="special">...&gt;</span></tt>, <tt class="computeroutput"><span class="identifier">Attrib</span></tt>
- </p></td>
-<td><p>
+ <span class="special">...&gt;</span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     If the instance of the variant currently holds a value with a
- type, <tt class="computeroutput"><span class="identifier">TN</span></tt>, for
- which <tt class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
- evaluates to <tt class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>,
- this customization point specialization will apply <tt class="computeroutput"><span class="identifier">push_back_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">,</span>
- <span class="identifier">Attrib</span><span class="special">&gt;</span></tt>,
- treating the instance held by the variant (of type <tt class="computeroutput"><span class="identifier">TN</span></tt>) as the container to store
+ type, <code class="computeroutput"><span class="identifier">TN</span></code>, for
+ which <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>,
+ this customization point specialization will apply <code class="computeroutput"><span class="identifier">push_back_container</span><span class="special">&lt;</span><span class="identifier">TN</span><span class="special">,</span>
+ <span class="identifier">Attrib</span><span class="special">&gt;</span></code>,
+ treating the instance held by the variant (of type <code class="computeroutput"><span class="identifier">TN</span></code>) as the container to store
                     the attribute in. Otherwise it will raise an assertion.
- </p></td>
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">unused_type</span></tt>
- </p></td>
-<td><p>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
                     Do nothing.
- </p></td>
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.when_to_implement"></a><h6>
-<a name="id734918"></a>
- <a href="push_back.html#spirit.advanced.customize.store_value.push_back.when_to_implement">When
+<a name="id925321"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.when_to_implement">When
             to Implement</a>
           </h6>
 <p>
- The customization point <tt class="computeroutput"><span class="identifier">push_back_container</span></tt>
+ The customization point <code class="computeroutput"><span class="identifier">push_back_container</span></code>
             needs to be implemented for a specific type whenever this type is to
             be used as an attribute in place of a STL container. It is applicable
             for parsers (<span class="emphasis"><em>Spirit.Qi</em></span>) only. As a rule of thumb:
             it has to be implemented whenever a certain type is to be passed as an
             attribute to a parser normally exposing a STL container and if the type
             does not expose the interface of a STL container (i.e. no function being
- equivalent to <tt class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">attr</span><span class="special">)</span></tt>.
+ equivalent to <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">attr</span><span class="special">)</span></code>.
             These components have an attribute propagation rule in the form:
           </p>
 <pre class="programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span> <span class="special">--&gt;</span> <span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">):</span> <span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span>
 </pre>
 <p>
- where <tt class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></tt>
- stands for any meaningful operation on the component <tt class="computeroutput"><span class="identifier">a</span></tt>.
+ where <code class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ stands for any meaningful operation on the component <code class="computeroutput"><span class="identifier">a</span></code>.
           </p>
 <a name="spirit.advanced.customize.store_value.push_back.related_attribute_customization_points"></a><h6>
-<a name="id735146"></a>
- <a href="push_back.html#spirit.advanced.customize.store_value.push_back.related_attribute_customization_points">Related
+<a name="id925471"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
 <p>
@@ -334,45 +378,53 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                     Name
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                     When to implement
- </p></th>
+ </p>
+ </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><p>
- <a href="container_value.html" title="
- Determine the Type to be Stored in a Container (Qi)"><tt class="computeroutput"><span class="identifier">container_value</span></tt></a>
- </p></td>
-<td><p>
- Qi: List,
- Kleene,
- Plus,
- <a href="../../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>.
- </p></td>
+<td>
+ <p>
+ <a class="link" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">container_value</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Qi: <a class="link" href="../../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ <a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>,
+ <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>.
+ </p>
+ </td>
 </tr>
 <tr>
-<td><p>
- <a href="../clear_value.html" title=" Re-Initialize
- an Attribute Value before Parsing (Qi)"><tt class="computeroutput"><span class="identifier">clear_value</span></tt></a>
- </p></td>
-<td><p>
- Qi: List,
- Kleene,
- Plus,
- <a href="../../../qi/reference/directive/repeat.html" title=" Repetition
- (repeat[])">Repeat</a>.
- </p></td>
+<td>
+ <p>
+ <a class="link" href="../clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)"><code class="computeroutput"><span class="identifier">clear_value</span></code></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Qi: <a class="link" href="../../../qi/reference/operator/list.html" title="List (a % b)">List</a>,
+ <a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene (*a)">Kleene</a>,
+ <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus (+a)">Plus</a>,
+ <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition (repeat[])">Repeat</a>.
+ </p>
+ </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.example"></a><h6>
-<a name="id735362"></a>
- Example
+<a name="id925613"></a>
+ <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.example">Example</a>
           </h6>
 <p>
             TBD

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/transform.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/transform.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/transform.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,17 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Transform an
- Attribute to a Different Type (Qi and Karma)</title>
+<title>Transform an Attribute to a Different Type (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
-<link rel="previous" href="is_container.html" title=" Determine
- if a Type Should be Treated as a Container (Qi and Karma)">
-<link rel="next" href="assign_to.html" title=" Store a Parsed
- Attribute Value (Qi)">
+<link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
+<link rel="prev" href="is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)">
+<link rel="next" href="assign_to.html" title="Store a Parsed Attribute Value (Qi)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -26,68 +22,74 @@
 <div class="spirit-nav">
 <a accesskey="p" href="is_container.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.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="assign_to.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.customize.transform"></a><a href="transform.html" title=" Transform an
- Attribute to a Different Type (Qi and Karma)"> Transform an
+<div class="section" title="Transform an Attribute to a Different Type (Qi and Karma)">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.transform"></a><a class="link" href="transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)"> Transform an
         Attribute to a Different Type (Qi and Karma)</a>
-</h4></div></div>
-<div></div>
-</div>
-<a name="spirit.advanced.customize.transform.transform_attribute"></a><h5>
-<a name="id727844"></a>
- transform_attribute
- </h5>
+</h4></div></div></div>
+<a name="spirit.advanced.customize.transform.transform_attribute"></a><h6>
+<a name="id916211"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.transform_attribute">transform_attribute</a>
+ </h6>
 <p>
- Short description here...
+ The template <code class="computeroutput"><span class="identifier">transform_attribute</span></code>
+ is a type used as an attribute customization point. It is invoked by <span class="emphasis"><em>Qi</em></span>
+ <code class="computeroutput"><span class="identifier">rule</span></code> and <code class="computeroutput"><span class="identifier">attr_cast</span></code>, and <span class="emphasis"><em>Karma</em></span>
+ <code class="computeroutput"><span class="identifier">rule</span></code> and <a class="link" href="../../karma/reference/auxiliary/attr_cast.html" title="Attribute Transformation Pseudo Generator (attr_cast)"><code class="computeroutput"><span class="identifier">attr_cast</span></code></a>. It is used to automatically
+ transform the user provided attribute to the attribute type expected by
+ the right hand side component (for <code class="computeroutput"><span class="identifier">rule</span></code>)
+ or the embedded component (for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
         </p>
-<a name="spirit.advanced.customize.transform.module_headers"></a><h5>
-<a name="id727873"></a>
- <a href="transform.html#spirit.advanced.customize.transform.module_headers">Module
+<a name="spirit.advanced.customize.transform.module_headers"></a><h6>
+<a name="id916288"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.module_headers">Module
           Headers</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">xxx</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">attributes</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Also, see Include Structure.
+ Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
             This header file does not need to be included directly by any user program
             as it is normally included by other Spirit header files relying on its
             content.
           </p></td></tr>
 </table></div>
-<a name="spirit.advanced.customize.transform.namespace"></a><h5>
-<a name="id727982"></a>
- Namespace
- </h5>
+<a name="spirit.advanced.customize.transform.namespace"></a><h6>
+<a name="id916373"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.namespace">Namespace</a>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup><col></colgroup>
-<thead><tr><th><p>
+<thead><tr><th>
+ <p>
                   Name
- </p></th></tr></thead>
-<tbody><tr><td><p>
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">xxx</span></tt>
- </p></td></tr></tbody>
+ </p>
+ </th></tr></thead>
+<tbody><tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
+ </p>
+ </td></tr></tbody>
 </table></div>
-<a name="spirit.advanced.customize.transform.synopsis"></a><h5>
-<a name="id728078"></a>
- Synopsis
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">XXX</span><span class="special">;</span>
+<a name="spirit.advanced.customize.transform.synopsis"></a><h6>
+<a name="id916446"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Exposed</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Transformed</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">transform_attribute</span><span class="special">;</span>
 </pre>
-<a name="spirit.advanced.customize.transform.template_parameters"></a><h5>
-<a name="id728154"></a>
- <a href="transform.html#spirit.advanced.customize.transform.template_parameters">Template
+<a name="spirit.advanced.customize.transform.template_parameters"></a><h6>
+<a name="id916524"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.template_parameters">Template
           parameters</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
@@ -95,133 +97,376 @@
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Parameter
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Description
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Default
- </p></th>
+ </p>
+ </th>
 </tr></thead>
-<tbody><tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">T</span></tt>
- </p></td>
-<td><p>
- What is T
- </p></td>
-<td><p>
- </p></td>
-</tr></tbody>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Exposed</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The attribute type supplied to the component which needs to be
+ transformed.
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The attribute type expected by the component to be provided as
+ the result of the transformation.
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Enable</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Helper template parameter usable to selectively enable or disable
+ certain specializations of <code class="computeroutput"><span class="identifier">transform_attribute</span></code>
+ utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
 </table></div>
-<a name="spirit.advanced.customize.transform.notation"></a><h5>
-<a name="id728259"></a>
- Notation
- </h5>
-<div class="variablelist">
+<a name="spirit.advanced.customize.transform.notation"></a><h6>
+<a name="id916710"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.notation">Notation</a>
+ </h6>
+<div class="variablelist" title="Notation">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">xxx</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Exposed</span></code></span></dt>
+<dd><p>
+ The type, <code class="computeroutput"><span class="identifier">Exposed</span></code> is
+ the type of the attribute as passed in by the user.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Transformed</span></code></span></dt>
+<dd><p>
+ The type, <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ is the type of the attribute as passed along to the right hand side
+ of the <code class="computeroutput"><span class="identifier">rule</span></code> (embedded
+ component of <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">exposed</span></code></span></dt>
+<dd><p>
+ An instance of type <code class="computeroutput"><span class="identifier">Exposed</span></code>.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">transformed</span></code></span></dt>
 <dd><p>
- An XXX
+ An instance of type <code class="computeroutput"><span class="identifier">Transformed</span></code>.
             </p></dd>
 </dl>
 </div>
-<a name="spirit.advanced.customize.transform.expression_semantics"></a><h5>
-<a name="id728314"></a>
- <a href="transform.html#spirit.advanced.customize.transform.expression_semantics">Expression
+<a name="spirit.advanced.customize.transform.expression_semantics"></a><h6>
+<a name="id916848"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.expression_semantics">Expression
           Semantics</a>
- </h5>
-<p>
- Semantics of an expression is defined only where it differs from, or is
- not defined in _concept-of<span class="underline">XXX</span>.
- </p>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
+<th>
+ <p>
                   Expression
- </p></th>
-<th><p>
+ </p>
+ </th>
+<th>
+ <p>
                   Semantics
- </p></th>
+ </p>
+ </th>
 </tr></thead>
-<tbody><tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">xxx</span></tt>
- </p></td>
-<td><p>
- Semantics of <tt class="computeroutput"><span class="identifier">xxx</span></tt>
- </p></td>
-</tr></tbody>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Evaluates to the type to be used as the result of the transformation
+ (to be passed to the right hand side of the <code class="computeroutput"><span class="identifier">rule</span></code>
+ or to the embedded component of the <code class="computeroutput"><span class="identifier">attr_cast</span></code>.
+ Most of the time this is equal to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
+ but in other cases this might evaluate to <code class="computeroutput"><span class="identifier">Transformed</span><span class="special">&amp;</span></code> instead avoiding superfluous
+ object creation.
+ </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">type</span> <span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">&gt;::</span><span class="identifier">pre</span><span class="special">(</span><span class="identifier">exposed</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Do <code class="computeroutput"><span class="identifier">pre</span></code>-transformation
+ before invoking the right hand side component for <code class="computeroutput"><span class="identifier">rule</span></code> (or the embedded component
+ for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
+ This takes the attribute supplied as by the user (of type <code class="computeroutput"><span class="identifier">Exposed</span></code>) and returns the attribute
+ to be passed down the component hierarchy (of the type as exposed
+ by the metafunction <code class="computeroutput"><span class="identifier">type</span></code>).
+ This function will be called in <span class="emphasis"><em>Qi</em></span> and for
+ <span class="emphasis"><em>Karma</em></span>.
+ </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="keyword">void</span> <span class="identifier">transform_attribute</span><span class="special">&lt;</span><span class="identifier">Exposed</span><span class="special">,</span> <span class="identifier">Transformed</span><span class="special">&gt;::</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">exposed</span><span class="special">,</span> <span class="identifier">transformed</span><span class="special">)</span></pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Do <code class="computeroutput"><span class="identifier">post</span></code>-transformation
+ after the invocation of the right hand side component for <code class="computeroutput"><span class="identifier">rule</span></code> (or the embedded component
+ for <code class="computeroutput"><span class="identifier">attr_cast</span></code>).
+ This takes the original attribute as supplied by the user and the
+ attribute as returned from the right hand side (embedded) component
+ and is expected to propagate the result back into the supplied
+ attribute instance. This function will be called in <span class="emphasis"><em>Qi</em></span>
+ only.
+ </p>
+ </td>
+</tr>
+</tbody>
 </table></div>
-<a name="spirit.advanced.customize.transform.predefined_specializations"></a><h5>
-<a name="id728429"></a>
- <a href="transform.html#spirit.advanced.customize.transform.predefined_specializations">Predefined
+<a name="spirit.advanced.customize.transform.predefined_specializations"></a><h6>
+<a name="id917182"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.predefined_specializations">Predefined
           Specializations</a>
- </h5>
+ </h6>
 <div class="informaltable"><table class="table">
 <colgroup>
 <col>
 <col>
 </colgroup>
 <thead><tr>
-<th><p>
- Type
- </p></th>
-<th><p>
- Condition
- </p></th>
+<th>
+ <p>
+ Template parameters
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
 </tr></thead>
-<tbody><tr>
-<td><p>
- <tt class="computeroutput"><span class="identifier">xxx</span></tt>
- </p></td>
-<td><p>
- when does it evaluate to mpl::true_
- </p></td>
-</tr></tbody>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Exposed</span></code>, <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">type</span></code> evaluates
+ to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ returns a new instance of <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ constructed from the argument of type <code class="computeroutput"><span class="identifier">Exposed</span></code>,
+ <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
+ assigns <code class="computeroutput"><span class="identifier">transformed</span></code>
+ to <code class="computeroutput"><span class="identifier">exposed</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Exposed</span><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">type</span></code> evaluates
+ to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ returns a new instance of <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ constructed from the argument of type <code class="computeroutput"><span class="identifier">Exposed</span></code>,
+ <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
+ assigns <code class="computeroutput"><span class="identifier">transformed</span></code>
+ to <code class="computeroutput"><span class="identifier">exposed</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">type</span></code> evaluates
+ to <code class="computeroutput"><span class="identifier">Attrib</span><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> does nothing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Exposed</span> <span class="keyword">const</span></code>,
+ <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ (usind in <span class="emphasis"><em>Karma</em></span> only) <code class="computeroutput"><span class="identifier">type</span></code>
+ evaluates to <code class="computeroutput"><span class="identifier">Transformed</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> is not implemented.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span> <span class="keyword">const</span><span class="special">&amp;</span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ (usind in <span class="emphasis"><em>Karma</em></span> only) <code class="computeroutput"><span class="identifier">type</span></code>
+ evaluates to <code class="computeroutput"><span class="identifier">Attrib</span> <span class="keyword">const</span><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> is not implemented.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span> <span class="keyword">const</span></code>,
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ (usind in <span class="emphasis"><em>Karma</em></span> only) <code class="computeroutput"><span class="identifier">type</span></code>
+ evaluates to <code class="computeroutput"><span class="identifier">Attrib</span> <span class="keyword">const</span><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ returns it's argument, <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code> is not implemented.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused_type</span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">type</span></code> evaluates
+ to <code class="computeroutput"><span class="identifier">unused_type</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
+ do nothing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attrib</span></code>, <code class="computeroutput"><span class="identifier">unused_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">type</span></code> evaluates
+ to <code class="computeroutput"><span class="identifier">unused_type</span></code>,
+ <code class="computeroutput"><span class="identifier">pre</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>
+ do nothing.
+ </p>
+ </td>
+</tr>
+</tbody>
 </table></div>
-<a name="spirit.advanced.customize.transform.when_to_implement"></a><h5>
-<a name="id728520"></a>
- <a href="transform.html#spirit.advanced.customize.transform.when_to_implement">When
+<a name="spirit.advanced.customize.transform.when_to_implement"></a><h6>
+<a name="id918984"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.when_to_implement">When
           to implement</a>
- </h5>
+ </h6>
 <p>
- Describe when this customization point needs to be implemented by the user.
+ The customization point <code class="computeroutput"><span class="identifier">transform_attribute</span></code>
+ needs to be implemented for a specific pair of types whenever the attribute
+ type supplied to a <code class="computeroutput"><span class="identifier">rule</span></code>
+ or <code class="computeroutput"><span class="identifier">attr_cast</span></code> cannot automatically
+ transformed to the attribute type expected by the right hand side of the
+ <code class="computeroutput"><span class="identifier">rule</span></code> (embedded component
+ of the <code class="computeroutput"><span class="identifier">attr_cast</span></code>) because
+ the default implementation as shown above is not applicable. Examples for
+ this could be that the type <code class="computeroutput"><span class="identifier">Transformed</span></code>
+ is not constructible from the type <code class="computeroutput"><span class="identifier">Exposed</span></code>.
         </p>
-<a name="spirit.advanced.customize.transform.related_attribute_customization_points"></a><h5>
-<a name="id728550"></a>
- <a href="transform.html#spirit.advanced.customize.transform.related_attribute_customization_points">Related
- Attribute Customization Points</a>
- </h5>
-<p>
- If this customization point is implemented, the following other customization
- points need to be implemented as well.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<tbody><tr>
-<td><p>
- Name
- </p></td>
-<td><p>
- When to implement
- </p></td>
-</tr></tbody>
-</table></div>
-<a name="spirit.advanced.customize.transform.example"></a><h5>
-<a name="id728616"></a>
- Example
- </h5>
+<a name="spirit.advanced.customize.transform.example"></a><h6>
+<a name="id919051"></a>
+ <a class="link" href="transform.html#spirit.advanced.customize.transform.example">Example</a>
+ </h6>
 <p>
           TBD
         </p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/indepth.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/indepth.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/indepth.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,14 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> In Depth</title>
+<title>In Depth</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../index.html" title="Spirit 2.1">
 <link rel="up" href="../advanced.html" title="Advanced">
-<link rel="previous" href="../advanced.html" title="Advanced">
-<link rel="next" href="indepth/parsers_indepth.html" title=" Parsers in
- Depth">
+<link rel="prev" href="../advanced.html" title="Advanced">
+<link rel="next" href="indepth/parsers_indepth.html" title="Parsers in Depth">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -23,13 +22,10 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../advanced.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.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="indepth/parsers_indepth.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h3 class="title">
-<a name="spirit.advanced.indepth"></a> In Depth
-</h3></div></div>
-<div></div>
-</div>
+<div class="section" title="In Depth">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="spirit.advanced.indepth"></a><a class="link" href="indepth.html" title="In Depth"> In Depth</a>
+</h3></div></div></div>
 <div class="toc"><dl><dt><span class="section"><a href="indepth/parsers_indepth.html"> Parsers in
         Depth</a></span></dt></dl></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html 2009-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,15 +1,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Parsers in
- Depth</title>
+<title>Parsers in Depth</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../../../index.html" title="Spirit 2.1">
-<link rel="up" href="../indepth.html" title=" In Depth">
-<link rel="previous" href="../indepth.html" title=" In Depth">
-<link rel="next" href="../customize.html" title=" Customization of Spirit's
- Attribute Handling">
+<link rel="up" href="../indepth.html" title="In Depth">
+<link rel="prev" href="../indepth.html" title="In Depth">
+<link rel="next" href="../customize.html" title="Customization of Spirit's Attribute Handling">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -24,15 +22,11 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../indepth.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indepth.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="../customize.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h4 class="title">
-<a name="spirit.advanced.indepth.parsers_indepth"></a><a href="parsers_indepth.html" title=" Parsers in
- Depth"> Parsers in
+<div class="section" title="Parsers in Depth">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.indepth.parsers_indepth"></a><a class="link" href="parsers_indepth.html" title="Parsers in Depth"> Parsers in
         Depth</a>
-</h4></div></div>
-<div></div>
-</div>
+</h4></div></div></div>
 <p>
           This section is not for the faint of heart. In here, are distilled the
           inner workings of <span class="emphasis"><em>Spirit.Qi</em></span> parsers, using real code
@@ -42,7 +36,7 @@
           insights.
         </p>
 <p>
- The <tt class="computeroutput">Parser</tt> class is the base
+ The <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/parser.html" title="Parser"><code class="computeroutput"><span class="identifier">Parser</span></code></a></code> class is the base
           class for all parsers.
         </p>
 <p>
@@ -87,38 +81,38 @@
 <p>
         </p>
 <p>
- The <tt class="computeroutput">Parser</tt> class does not really
+ The <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/parser.html" title="Parser"><code class="computeroutput"><span class="identifier">Parser</span></code></a></code> class does not really
           know how to parse anything but instead relies on the template parameter
- <tt class="computeroutput"><span class="identifier">Derived</span></tt> to do the actual
+ <code class="computeroutput"><span class="identifier">Derived</span></code> to do the actual
           parsing. This technique is known as the "Curiously Recurring Template
           Pattern" in template meta-programming circles. This inheritance strategy
           gives us the power of polymorphism without the virtual function overhead.
           In essence this is a way to implement compile time polymorphism.
         </p>
 <p>
- The Derived parsers, <tt class="computeroutput">PrimitiveParser</tt>, <tt class="computeroutput">UnaryParser</tt>, <tt class="computeroutput">BinaryParser</tt> and <tt class="computeroutput">NaryParser</tt> provide the
+ The Derived parsers, <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a></code>, <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a></code>, <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/binaryparser.html" title="BinaryParser"><code class="computeroutput"><span class="identifier">BinaryParser</span></code></a></code> and <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/naryparser.html" title="NaryParser"><code class="computeroutput"><span class="identifier">NaryParser</span></code></a></code> provide the
           necessary facilities for parser detection, introspection, transformation
           and visitation.
         </p>
 <p>
           Derived parsers must support the following:
         </p>
-<div class="variablelist">
+<div class="variablelist" title="bool parse(f, l, context, skip, attr)">
 <p class="title"><b>bool parse(f, l, context, skip, attr)</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt>, <tt class="computeroutput"><span class="identifier">l</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code>, <code class="computeroutput"><span class="identifier">l</span></code></span></dt>
 <dd><p>
               first/last iterator pair
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">context</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">context</span></code></span></dt>
 <dd><p>
               enclosing rule context (can be unused_type)
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">skip</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">skip</span></code></span></dt>
 <dd><p>
               skipper (can be unused_type)
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">attr</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
 <dd><p>
               attribute (can be unused_type)
             </p></dd>
@@ -126,57 +120,57 @@
 </div>
 <p>
           The <span class="emphasis"><em>parse</em></span> is the main parser entry point. <span class="emphasis"><em>skipper</em></span>
- can be an <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
+ can be an <code class="computeroutput"><span class="identifier">unused_type</span></code>.
           It's a type used every where in Spirit
           to signify "don't-care". There is an overload for <span class="emphasis"><em>skip</em></span>
- for <tt class="computeroutput"><span class="identifier">unused_type</span></tt> that is
+ for <code class="computeroutput"><span class="identifier">unused_type</span></code> that is
           simply a no-op. That way, we do not have to write multiple parse functions
           for phrase and character level parsing.
         </p>
 <p>
           Here are the basic rules for parsing:
         </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- The parser returns <tt class="computeroutput"><span class="keyword">true</span></tt>
- if successful, <tt class="computeroutput"><span class="keyword">false</span></tt> otherwise.
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The parser returns <code class="computeroutput"><span class="keyword">true</span></code>
+ if successful, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
           </li>
-<li>
- If successful, <tt class="computeroutput"><span class="identifier">first</span></tt>
+<li class="listitem">
+ If successful, <code class="computeroutput"><span class="identifier">first</span></code>
             is incremented N number of times, where N is the number of characters
             parsed. N can be zero --an empty (epsilon) match.
           </li>
-<li>
+<li class="listitem">
             If successful, the parsed attribute is assigned to <span class="emphasis"><em>attr</em></span>
 </li>
-<li>
- If unsuccessful, <tt class="computeroutput"><span class="identifier">first</span></tt>
+<li class="listitem">
+ If unsuccessful, <code class="computeroutput"><span class="identifier">first</span></code>
             is reset to its position before entering the parser function. <span class="emphasis"><em>attr</em></span>
             is untouched.
           </li>
 </ul></div>
-<div class="variablelist">
+<div class="variablelist" title="void what(context)">
 <p class="title"><b>void what(context)</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">context</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">context</span></code></span></dt>
 <dd><p>
- enclosing rule context (can be <tt class="computeroutput"><span class="identifier">unused_type</span></tt>)
+ enclosing rule context (can be <code class="computeroutput"><span class="identifier">unused_type</span></code>)
             </p></dd>
 </dl>
 </div>
 <p>
           The <span class="emphasis"><em>what</em></span> function should be obvious. It provides some
- information about &#8220;<span class="quote">what</span>&#8221; the parser is. It is used as a debugging
+ information about <span class="quote">&#8220;<span class="quote">what</span>&#8221;</span> the parser is. It is used as a debugging
           aid, for example.
         </p>
-<div class="variablelist">
+<div class="variablelist" title="P::template attribute&lt;context&gt;::type">
 <p class="title"><b>P::template attribute&lt;context&gt;::type</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">P</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">P</span></code></span></dt>
 <dd><p>
               a parser type
             </p></dd>
-<dt><span class="term"><tt class="computeroutput"><span class="identifier">context</span></tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">context</span></code></span></dt>
 <dd><p>
               A context type (can be unused_type)
             </p></dd>
@@ -189,27 +183,27 @@
 <p>
           In this section, we will dissect two parser types:
         </p>
-<div class="variablelist">
+<div class="variablelist" title="Parsers">
 <p class="title"><b>Parsers</b></p>
 <dl>
-<dt><span class="term"><tt class="computeroutput">PrimitiveParser</tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a></code></span></dt>
 <dd><p>
               A parser for primitive data (e.g. integer parsing).
             </p></dd>
-<dt><span class="term"><tt class="computeroutput">UnaryParser</tt></span></dt>
+<dt><span class="term"><code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a></code></span></dt>
 <dd><p>
               A parser that has single subject (e.g. kleene star).
             </p></dd>
 </dl>
 </div>
-<a name="spirit.advanced.indepth.parsers_indepth.primitive_parsers"></a><h5>
-<a name="id719287"></a>
- <a href="parsers_indepth.html#spirit.advanced.indepth.parsers_indepth.primitive_parsers">Primitive
+<a name="spirit.advanced.indepth.parsers_indepth.primitive_parsers"></a><h6>
+<a name="id907517"></a>
+ <a class="link" href="parsers_indepth.html#spirit.advanced.indepth.parsers_indepth.primitive_parsers">Primitive
           Parsers</a>
- </h5>
+ </h6>
 <p>
           For our disection study, we will use a Spirit
- primitive, the <tt class="computeroutput"><span class="identifier">int_parser</span></tt>
+ primitive, the <code class="computeroutput"><span class="identifier">int_parser</span></code>
           in the boost::spirit::qi namespace.
         </p>
 <p>
@@ -259,20 +253,20 @@
 <p>
         </p>
 <p>
- The <tt class="computeroutput"><span class="identifier">int_parser</span></tt> is derived
- from a <tt class="computeroutput">PrimitiveParser<span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></tt>,
- which in turn derives from <tt class="computeroutput"><span class="identifier">parser</span><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></tt>. Therefore, it supports the following
+ The <code class="computeroutput"><span class="identifier">int_parser</span></code> is derived
+ from a <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></code>,
+ which in turn derives from <code class="computeroutput"><span class="identifier">parser</span><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></code>. Therefore, it supports the following
           requirements:
         </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- The <tt class="computeroutput"><span class="identifier">parse</span></tt> member function
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">parse</span></code> member function
           </li>
-<li>
- The <tt class="computeroutput"><span class="identifier">what</span></tt> member function
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">what</span></code> member function
           </li>
-<li>
- The nested <tt class="computeroutput"><span class="identifier">attribute</span></tt>
+<li class="listitem">
+ The nested <code class="computeroutput"><span class="identifier">attribute</span></code>
             metafunction
           </li>
 </ul></div>
@@ -289,7 +283,7 @@
         </p>
 <p>
           to do a pre-skip. After pre-skipping, the parser proceeds to do its thing.
- The actual parsing code is placed in <tt class="computeroutput"><span class="identifier">extract_int</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">,</span> <span class="identifier">MinDigits</span><span class="special">,</span> <span class="identifier">MaxDigits</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">);</span></tt>
+ The actual parsing code is placed in <code class="computeroutput"><span class="identifier">extract_int</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Radix</span><span class="special">,</span> <span class="identifier">MinDigits</span><span class="special">,</span> <span class="identifier">MaxDigits</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">);</span></code>
         </p>
 <p>
           This simple no-frills protocol is one of the reasons why Spirit
@@ -303,10 +297,10 @@
         </p>
 <p>
           The <span class="emphasis"><em>attribute</em></span> metafunction returns the T template
- parameter. We associate the <tt class="computeroutput"><span class="identifier">int_parser</span></tt>
- to some placeholders for <tt class="computeroutput"><span class="identifier">short_</span></tt>,
- <tt class="computeroutput"><span class="identifier">int_</span></tt>, <tt class="computeroutput"><span class="identifier">long_</span></tt>
- and <tt class="computeroutput"><span class="identifier">long_long</span></tt> types. But,
+ parameter. We associate the <code class="computeroutput"><span class="identifier">int_parser</span></code>
+ to some placeholders for <code class="computeroutput"><span class="identifier">short_</span></code>,
+ <code class="computeroutput"><span class="identifier">int_</span></code>, <code class="computeroutput"><span class="identifier">long_</span></code>
+ and <code class="computeroutput"><span class="identifier">long_long</span></code> types. But,
           first, we enable these placeholders in namespace boost::spirit:
         </p>
 <p>
@@ -356,7 +350,7 @@
 <p>
         </p>
 <p>
- Notice that <tt class="computeroutput"><span class="identifier">int_parser</span></tt>
+ Notice that <code class="computeroutput"><span class="identifier">int_parser</span></code>
           is placed in the namespace boost::spirit::qi while these <span class="emphasis"><em>enablers</em></span>
           are in namespace boost::spirit. The reason is that these placeholders are
           shared by other Spirit
@@ -393,14 +387,14 @@
           This one above is our main generator. It's a simple function object with
           2 (unused) arguments. These arguments are
         </p>
-<div class="orderedlist"><ol type="1">
-<li>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
             The actual terminal value obtained by proto. In this case, either a short<span class="underline">, int</span>, long_ or long_long. We don't care
             about this.
           </li>
-<li>
+<li class="listitem">
             Modifiers. We also don't care about this. This allows directives such
- as <tt class="computeroutput"><span class="identifier">no_case</span><span class="special">[</span><span class="identifier">p</span><span class="special">]</span></tt>
+ as <code class="computeroutput"><span class="identifier">no_case</span><span class="special">[</span><span class="identifier">p</span><span class="special">]</span></code>
             to pass information to inner parser nodes. We'll see how that works later.
           </li>
 </ol></div>
@@ -450,15 +444,15 @@
 <p>
         </p>
 <p>
- These, specialize <tt class="computeroutput"><span class="identifier">qi</span><span class="special">:</span><span class="identifier">make_primitive</span></tt> for specific tags. They
- all inherit from <tt class="computeroutput"><span class="identifier">make_int</span></tt>
+ These, specialize <code class="computeroutput"><span class="identifier">qi</span><span class="special">:</span><span class="identifier">make_primitive</span></code> for specific tags. They
+ all inherit from <code class="computeroutput"><span class="identifier">make_int</span></code>
           which does the actual work.
         </p>
-<a name="spirit.advanced.indepth.parsers_indepth.composite_parsers"></a><h5>
-<a name="id722066"></a>
- <a href="parsers_indepth.html#spirit.advanced.indepth.parsers_indepth.composite_parsers">Composite
+<a name="spirit.advanced.indepth.parsers_indepth.composite_parsers"></a><h6>
+<a name="id909827"></a>
+ <a class="link" href="parsers_indepth.html#spirit.advanced.indepth.parsers_indepth.composite_parsers">Composite
           Parsers</a>
- </h5>
+ </h6>
 <p>
           Let me present the kleene star (also in namespace spirit::qi):
         </p>
@@ -524,41 +518,41 @@
 <p>
         </p>
 <p>
- Looks similar in form to its primitive cousin, the <tt class="computeroutput"><span class="identifier">int_parser</span></tt>.
- And, again, it has the same basic ingredients required by <tt class="computeroutput"><span class="identifier">Derived</span></tt>.
+ Looks similar in form to its primitive cousin, the <code class="computeroutput"><span class="identifier">int_parser</span></code>.
+ And, again, it has the same basic ingredients required by <code class="computeroutput"><span class="identifier">Derived</span></code>.
         </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
             The nested attribute metafunction
           </li>
-<li>
+<li class="listitem">
             The parse member function
           </li>
-<li>
+<li class="listitem">
             The what member function
           </li>
 </ul></div>
 <p>
           kleene is a composite parser. It is a parser that composes another parser,
- its &#8220;<span class="quote">subject</span>&#8221;. It is a <tt class="computeroutput">UnaryParser</tt> and subclasses
- from it. Like <tt class="computeroutput">PrimitiveParser</tt>, <tt class="computeroutput">UnaryParser<span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></tt>
- derives from <tt class="computeroutput"><span class="identifier">parser</span><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></tt>.
+ its <span class="quote">&#8220;<span class="quote">subject</span>&#8221;</span>. It is a <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a></code> and subclasses
+ from it. Like <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a></code>, <code class="computeroutput"><a class="link" href="../../qi/reference/parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></code>
+ derives from <code class="computeroutput"><span class="identifier">parser</span><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">&gt;</span></code>.
         </p>
 <p>
           unary_parser&lt;Derived&gt;, has these expression requirements on Derived:
         </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- p.subject -&gt; subject parser ( <span class="emphasis"><em>p</em></span> is a UnaryParser parser.)
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ p.subject -&gt; subject parser ( <span class="emphasis"><em>p</em></span> is a <a class="link" href="../../qi/reference/parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a> parser.)
           </li>
-<li>
+<li class="listitem">
             P::subject_type -&gt; subject parser type ( <span class="emphasis"><em>P</em></span> is
- a UnaryParser type.)
+ a <a class="link" href="../../qi/reference/parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a> type.)
           </li>
 </ul></div>
 <p>
           <span class="emphasis"><em>parse</em></span> is the main parser entry point. Since this is
- not a primitive parser, we do not need to call <tt class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">skipper</span><span class="special">)</span></tt>. The <span class="emphasis"><em>subject</em></span>, if
+ not a primitive parser, we do not need to call <code class="computeroutput"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">skipper</span><span class="special">)</span></code>. The <span class="emphasis"><em>subject</em></span>, if
           it is a primitive, will do the pre-skip. If if it is another composite
           parser, it will eventually call a primitive parser somewhere down the line
           which will do the pre-skip. This makes it a lot more efficient than Spirit.Classic.
@@ -568,12 +562,12 @@
         </p>
 <p>
           What is the <span class="emphasis"><em>attribute</em></span> of the kleene? In general, it
- is a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></tt>
- where <tt class="computeroutput"><span class="identifier">T</span></tt> is the attribute
- of the subject. There is a special case though. If <tt class="computeroutput"><span class="identifier">T</span></tt>
- is an <tt class="computeroutput"><span class="identifier">unused_type</span></tt>, then
- the attribute of kleene is also <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
- <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">build_std_vector</span></tt> takes care of that minor
+ is a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ where <code class="computeroutput"><span class="identifier">T</span></code> is the attribute
+ of the subject. There is a special case though. If <code class="computeroutput"><span class="identifier">T</span></code>
+ is an <code class="computeroutput"><span class="identifier">unused_type</span></code>, then
+ the attribute of kleene is also <code class="computeroutput"><span class="identifier">unused_type</span></code>.
+ <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">build_std_vector</span></code> takes care of that minor
           detail.
         </p>
 <p>
@@ -588,9 +582,9 @@
 <p>
         </p>
 <p>
- <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">attribute_of</span><span class="special">&lt;</span><span class="identifier">Subject</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">&gt;</span></tt>
- simply calls the subject's <tt class="computeroutput"><span class="keyword">struct</span>
- <span class="identifier">attribute</span><span class="special">&lt;</span><span class="identifier">Context</span><span class="special">&gt;</span></tt>
+ <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">attribute_of</span><span class="special">&lt;</span><span class="identifier">Subject</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">&gt;</span></code>
+ simply calls the subject's <code class="computeroutput"><span class="keyword">struct</span>
+ <span class="identifier">attribute</span><span class="special">&lt;</span><span class="identifier">Context</span><span class="special">&gt;</span></code>
           nested metafunction.
         </p>
 <p>
@@ -599,12 +593,12 @@
         </p>
 <p>
           The kleene repeats indefinitely while the subject parser is successful.
- On each successful parse, we <tt class="computeroutput"><span class="identifier">push_back</span></tt>
+ On each successful parse, we <code class="computeroutput"><span class="identifier">push_back</span></code>
           the parsed attribute to the kleen's attribute, which is expected to be,
- at the very least, compatible with a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></tt>.
- In other words, although we say that we want our attribute to be a <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></tt>, we try to be more lenient than
+ at the very least, compatible with a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>.
+ In other words, although we say that we want our attribute to be a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>, we try to be more lenient than
           that. The caller of kleene's parse may pass a different attribute type.
- For as long as it is also a conforming STL container with <tt class="computeroutput"><span class="identifier">push_back</span></tt>, we are ok. Here is the kleene
+ For as long as it is also a conforming STL container with <code class="computeroutput"><span class="identifier">push_back</span></code>, we are ok. Here is the kleene
           loop:
         </p>
 <p>
@@ -631,8 +625,8 @@
         </p>
 <p>
           This is a recurring pattern. The reason why we do it this way is because
- attr <span class="bold"><b>can</b></span> be <tt class="computeroutput"><span class="identifier">unused_type</span></tt>.
- <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">push_back</span></tt> takes care of that detail.
+ attr <span class="bold"><strong>can</strong></span> be <code class="computeroutput"><span class="identifier">unused_type</span></code>.
+ <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">push_back</span></code> takes care of that detail.
           The overload for unused_type is a no-op. Now, you can imagine why Spirit is fast! The parsers
           are so simple and the generated code is as efficient as a hand rolled loop.
           All these parser compositions and recursive parse invocations are extensively
@@ -643,10 +637,10 @@
         </p>
 <p>
           The <span class="emphasis"><em>what</em></span> function simply wraps the output of the subject
- in a "kleene&#8220;<span class="quote">... "</span>&#8221;".
+ in a "kleene<span class="quote">&#8220;<span class="quote">... "</span>&#8221;</span>".
         </p>
 <p>
- Ok, now, like the <tt class="computeroutput"><span class="identifier">int_parser</span></tt>,
+ Ok, now, like the <code class="computeroutput"><span class="identifier">int_parser</span></code>,
           we have to hook our parser to the <span class="underline">qi</span>
           engine. Here's how we do it:
         </p>
@@ -667,9 +661,9 @@
 <p>
         </p>
 <p>
- This is done in namespace <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span></tt>
- like its friend, the <tt class="computeroutput"><span class="identifier">use_terminal</span></tt>
- specialization for our <tt class="computeroutput"><span class="identifier">int_parser</span></tt>.
+ This is done in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span></code>
+ like its friend, the <code class="computeroutput"><span class="identifier">use_terminal</span></code>
+ specialization for our <code class="computeroutput"><span class="identifier">int_parser</span></code>.
           Obviously, we use <span class="emphasis"><em>use_operator</em></span> to enable the dereference
           for the qi::domain.
         </p>
@@ -691,7 +685,7 @@
 <p>
         </p>
 <p>
- This essentially says; for all expressions of the form: <tt class="computeroutput"><span class="special">*</span><span class="identifier">p</span></tt>, to build a kleene parser. Elements
+ This essentially says; for all expressions of the form: <code class="computeroutput"><span class="special">*</span><span class="identifier">p</span></code>, to build a kleene parser. Elements
           is a Boost.Fusion
           sequence. For the kleene, which is a unary operator, expect only one element
           in the sequence. That element is the subject of the kleene.

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-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -1,12 +1,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title> Spirit FAQ</title>
+<title>Spirit FAQ</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../index.html" title="Spirit 2.1">
 <link rel="up" href="../index.html" title="Spirit 2.1">
-<link rel="previous" href="support/multi_pass.html" title=" The multi pass iterator">
+<link rel="prev" href="support/multi_pass.html" title="The multi pass iterator">
 <link rel="next" href="notes.html" title="Notes">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,33 +22,30 @@
 <div class="spirit-nav">
 <a accesskey="p" href="support/multi_pass.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="notes.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h2 class="title" style="clear: both">
-<a name="spirit.faq"></a> Spirit FAQ
-</h2></div></div>
-<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><h3>
-<a name="id747563"></a>
- <a href="faq.html#spirit.faq.i_m_getting_multiple_symbol_definition_errors_while_using_visual_c____anything_i_could_do_about_that_">I'm
+<div class="section" title="Spirit FAQ">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<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="id948677"></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>
- </h3>
+ </h4>
 <p>
- Do you see strange multiple symbol definition linker errors mentioning <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">failed</span></tt>
- and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">rule</span></tt>?
+ Do you see strange multiple symbol definition linker errors mentioning <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">failed</span></code>
+ and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">rule</span></code>?
       Then this FAQ entry might be for you.
     </p>
 <p>
       <a href="http://www.boost.org/libs/mpl/index.html" target="_top">Boost.Mpl</a> implements
- a macro <tt class="computeroutput"><span class="identifier">BOOST_MPL_ASSERT_MSG</span><span class="special">()</span></tt> which essentially is a more powerfull version
+ a macro <code class="computeroutput"><span class="identifier">BOOST_MPL_ASSERT_MSG</span><span class="special">()</span></code> which essentially is a more powerfull version
       of static_assert. Unfortunately under certain circumstances using this macro
       may lead to the aformentioned linker errors.
     </p>
 <p>
       <a href="http://spirit.sourceforge.net" target="_top">Spirit</a> allows you to define
- a preprocessor constant disabling the usage of <tt class="computeroutput"><span class="identifier">BOOST_MPL_ASSERT_MSG</span><span class="special">()</span></tt>, while switching to <tt class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">()</span></tt> instead. For that you need define BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG=1.
+ a preprocessor constant disabling the usage of <code class="computeroutput"><span class="identifier">BOOST_MPL_ASSERT_MSG</span><span class="special">()</span></code>, while switching to <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">()</span></code> instead. For that you need define BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG=1.
       Do this by adding
     </p>
 <pre class="programlisting"><span class="special">-</span><span class="identifier">DBOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG</span><span class="special">=</span><span class="number">1</span>
@@ -66,12 +63,12 @@
       see while using this workaround is less verbose error messages generated from
       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><h3>
-<a name="id747828"></a>
- <a 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
+<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="id948847"></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>
- </h3>
+ </h4>
 <p>
       The boost/spirit directory currently holds two versions of the Spirit library:
       <a href="../../../../../libs/spirit/classic/index.html" target="_top"><span class="emphasis"><em>Spirit.Classic</em></span></a>
@@ -174,27 +171,26 @@
       as we will probably redirect to the Boost.Phoenix headers as soon as these
       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><h3>
-<a name="id748604"></a>
- <a 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 <tt class="computeroutput"><span class="identifier">no_case</span></tt>
+<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="id949371"></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>
- </h3>
+ </h4>
 <p>
- In order to perform case-insensitive parsing (using <a href="qi/reference/directive/no_case.html" title=" Inhibiting
- Case Sensitivity (no_case[])"><tt class="computeroutput"><span class="identifier">no_case</span></tt></a>) with a symbol table (i.e.
- use a <a href="qi/reference/string/symbols.html" title=" Symbols (symbols)"><tt class="computeroutput"><span class="identifier">symbols</span><span class="special">&lt;</span><span class="identifier">Ch</span><span class="special">,</span>
- <span class="identifier">T</span><span class="special">&gt;</span></tt></a>
- parser in a <tt class="computeroutput"><span class="identifier">no_case</span></tt> directive),
+ In order to perform case-insensitive parsing (using <a class="link" href="qi/reference/directive/no_case.html" title="Inhibiting Case Sensitivity (no_case[])"><code class="computeroutput"><span class="identifier">no_case</span></code></a>) with a symbol table (i.e.
+ use a <a class="link" href="qi/reference/string/symbols.html" title="Symbols (symbols)"><code class="computeroutput"><span class="identifier">symbols</span><span class="special">&lt;</span><span class="identifier">Ch</span><span class="special">,</span>
+ <span class="identifier">T</span><span class="special">&gt;</span></code></a>
+ parser in a <code class="computeroutput"><span class="identifier">no_case</span></code> directive),
       that symbol table needs to be filled with all-lowercase contents. Entries containing
       one or more uppercase characters will not match any input.
     </p>
-<a name="spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_"></a><h3>
-<a name="id748741"></a>
- <a 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 <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></tt>
- and/or <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function4</span></tt>. What does this mean?</a>
- </h3>
+<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="id949442"></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>
+ </h4>
 <p>
       If you are using Visual C++ and have an error like:
     </p>
@@ -215,30 +211,30 @@
       it means that non-terminal can only be used with a skip parser of a compatible
       type. The error above arises when this is not the case, i.e.:
     </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
         a non-terminal defined with a skip parser type is used without a skip parser;
- for example, a rule with a skip parser type is used inside a <tt class="computeroutput"><span class="identifier">lexeme</span></tt> directive, or a grammar with a skip
- parser type is used in <tt class="computeroutput"><span class="identifier">parse</span></tt>
- instead of <tt class="computeroutput"><span class="identifier">phrase_parse</span></tt>,
+ for example, a rule with a skip parser type is used inside a <code class="computeroutput"><span class="identifier">lexeme</span></code> directive, or a grammar with a skip
+ parser type is used in <code class="computeroutput"><span class="identifier">parse</span></code>
+ instead of <code class="computeroutput"><span class="identifier">phrase_parse</span></code>,
       </li>
-<li>
+<li class="listitem">
         or a non-terminal is used with a skip parser of an incompatible type; for
         example, a rule defined with one skip parser type calls a second rule defined
         with another, incompatible skip parser type.
       </li>
 </ul></div>
-<div class="note"><table border="0" summary="Note">
+<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 colspan="2" align="left" valign="top"><p>
+<tr><td align="left" valign="top"><p>
         The same applies to <span class="emphasis"><em>Spirit.Karma</em></span>, replacing 'skip parser'
- and <tt class="computeroutput"><span class="identifier">lexeme</span></tt> by 'delimit generator'
- and <tt class="computeroutput"><span class="identifier">verbatim</span></tt>. Similarily,
+ and <code class="computeroutput"><span class="identifier">lexeme</span></code> by 'delimit generator'
+ and <code class="computeroutput"><span class="identifier">verbatim</span></code>. Similarily,
         corresponding error messages in <span class="emphasis"><em>Spirit.Karma</em></span> reference
- <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function3</span></tt> and the 3rd parameter (instead
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function3</span></code> and the 3rd parameter (instead
         of the 4th).
       </p></td></tr>
 </table></div>

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-10-13 12:18:38 EDT (Tue, 13 Oct 2009)
@@ -3,10 +3,10 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Introduction</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 <link rel="home" href="../index.html" title="Spirit 2.1">
 <link rel="up" href="../index.html" title="Spirit 2.1">
-<link rel="previous" href="what_s_new.html" title="What's New">
+<link rel="prev" href="what_s_new.html" title="What's New">
 <link rel="next" href="structure.html" title="Structure">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,18 +22,15 @@
 <div class="spirit-nav">
 <a accesskey="p" href="what_s_new.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="structure.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage">
-<div><div><h2 class="title" style="clear: both">
-<a name="spirit.introduction"></a>Introduction
-</h2></div></div>
-<div></div>
-</div>
+<div class="section" title="Introduction">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="spirit.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
+</h2></div></div></div>
 <p>
       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="id411540" href="#ftn.id411540">1</a>]</sup>
+ <sup>[<a name="id598125" href="#ftn.id598125" 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
@@ -45,14 +42,14 @@
       embedded languages (DSEL). In fact, Spirit exposes 3 different DSELs to the
       user:
     </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
         one for creating parser grammars,
       </li>
-<li>
+<li class="listitem">
         one for the specification of the required tokens to be used for parsing,
       </li>
-<li>
+<li class="listitem">
         and one for the description of the required output formats.
       </li>
 </ul></div>
@@ -70,32 +67,32 @@
       used to generate arbitrarily-formatted output.
     </p>
 <p>
- The figure below depicts the
+ The <a class="link" href="introduction.html#spirit.spiritstructure" title="Figure 1. The overall structure of the Boost Spirit library">figure</a> below depicts the
       overall structure of the Boost Spirit library. The library consists of 4 major
       parts:
     </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
 <a href="../../../../../libs/spirit/classic/index.html" target="_top"><span class="emphasis"><em>Spirit.Classic</em></span></a>:
         This is the almost-unchanged code base taken from the former Boost Spirit
         V1.8 distribution. It has been moved into the namespace boost::spirit::classic.
         A special compatibility layer has been added to ensure complete compatibility
         with existing code using Spirit V1.8.
       </li>
-<li>
+<li class="listitem">
 <span class="emphasis"><em>Spirit.Qi</em></span>: This is the parser library allowing you to
         build recursive descent parsers. The exposed domain-specific language can
         be used to describe the grammars to implement, and the rules for storing
         the parsed information.
       </li>
-<li>
+<li class="listitem">
 <span class="emphasis"><em>Spirit.Lex</em></span>: This is the library usable to create tokenizers
         (lexers). The domain-specific language exposed by <span class="emphasis"><em>Spirit.Lex</em></span>
         allows to define regular expressions used to match tokens (create token definitions),
         associate these regular expressions with code to be executed whenever they
         are matched, and to add the token definitions to the lexical analyzer.
       </li>
-<li>
+<li class="listitem">
 <span class="emphasis"><em>Spirit.Karma</em></span>: This is the generator library allowing
         you to create code for recursive descent, data type-driven output formatting.
         The exposed domain-specific language is almost equivalent to the parser description
@@ -107,10 +104,9 @@
       </p>
 <div class="figure">
 <a name="spirit.spiritstructure"></a><p class="title"><b>Figure 1. The overall structure of the Boost Spirit library</b></p>
-<span class="inlinemediaobject"><img src="./images/spiritstructure.png" alt="The
- overall structure of the Boost Spirit library"></span>
+<div class="figure-contents"><span class="inlinemediaobject"><img src=".././images/spiritstructure.png" alt="The overall structure of the Boost Spirit library"></span></div>
 </div>
-<p>
+<p><br class="figure-break">
     </p>
 <p>
       The three components, <span class="emphasis"><em>Spirit.Qi</em></span>, <span class="emphasis"><em>Spirit.Karma</em></span>
@@ -123,8 +119,7 @@
       there is nothing to stop you from using any of these components all by themselves.
     </p>
 <p>
- The <a href="introduction.html#spirit.spiritkarmaflow" title="Figure 2. The place of Spirit.Qi and Spirit.Karma
- in a data transformation flow of a typical application">figure</a> below shows the typical
+ The <a class="link" href="introduction.html#spirit.spiritkarmaflow" title="Figure 2. The place of Spirit.Qi and Spirit.Karma in a data transformation flow of a typical application">figure</a> below shows the typical
       data flow of some input being converted to some internal representation. After
       some (optional) transformation these data are converted back into some different,
       external representation. The picture highlights Spirit's place in this data
@@ -135,17 +130,15 @@
 <div class="figure">
 <a name="spirit.spiritkarmaflow"></a><p class="title"><b>Figure 2. The place of <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
       in a data transformation flow of a typical application</b></p>
-<span class="inlinemediaobject"><img src="./images/spiritkarmaflow.png" alt="The
- place of Spirit.Qi and Spirit.Karma
- in a data transformation flow of a typical application"></span>
+<div class="figure-contents"><span class="inlinemediaobject"><img src=".././images/spiritkarmaflow.png" alt="The place of Spirit.Qi and Spirit.Karma in a data transformation flow of a typical application"></span></div>
 </div>
-<p>
+<p><br class="figure-break">
     </p>
-<a name="spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_"></a><h3>
-<a name="id411834"></a>
- <a href="introduction.html#spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_">A
+<a name="spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_"></a><h4>
+<a name="id598342"></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>
- </h3>
+ </h4>
 <p>
       <span class="emphasis"><em>Spirit.Qi</em></span> is Spirit's sublibrary dealing with generating
       parsers based on a given target grammar (essentially a format description of
@@ -170,14 +163,14 @@
 </pre>
 <p>
       Through the magic of expression templates, this is perfectly valid and executable
- C++ code. The