Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67553 - in trunk: boost/spirit/home/karma boost/spirit/home/karma/action boost/spirit/home/karma/detail boost/spirit/home/karma/directive boost/spirit/home/karma/nonterminal boost/spirit/home/karma/numeric boost/spirit/home/karma/operator boost/spirit/home/karma/string boost/spirit/home/qi boost/spirit/home/qi/action boost/spirit/home/qi/auxiliary boost/spirit/home/qi/detail boost/spirit/home/qi/directive boost/spirit/home/qi/nonterminal boost/spirit/home/qi/numeric boost/spirit/home/qi/operator boost/spirit/home/qi/string boost/spirit/home/support boost/spirit/home/support/utree libs/spirit/doc libs/spirit/doc/advanced libs/spirit/doc/html libs/spirit/doc/html/spirit libs/spirit/doc/html/spirit/abstracts libs/spirit/doc/html/spirit/abstracts/attributes libs/spirit/doc/html/spirit/advanced libs/spirit/doc/html/spirit/advanced/customize libs/spirit/doc/html/spirit/advanced/customize/assign_to libs/spirit/doc/html/spirit/advanced/customize/auto libs/spirit/doc/html/spirit/advanced/customize/iterate libs/spirit/doc/html/spirit/advanced/customize/store_value libs/spirit/doc/html/spirit/advanced/indepth libs/spirit/doc/html/spirit/karma libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance libs/spirit/doc/html/spirit/karma/quick_reference libs/spirit/doc/html/spirit/karma/reference libs/spirit/doc/html/spirit/karma/reference/auxiliary libs/spirit/doc/html/spirit/karma/reference/binary libs/spirit/doc/html/spirit/karma/reference/char libs/spirit/doc/html/spirit/karma/reference/directive libs/spirit/doc/html/spirit/karma/reference/generate_api libs/spirit/doc/html/spirit/karma/reference/generator_concepts libs/spirit/doc/html/spirit/karma/reference/nonterminal libs/spirit/doc/html/spirit/karma/reference/numeric libs/spirit/doc/html/spirit/karma/reference/operator libs/spirit/doc/html/spirit/karma/reference/stream libs/spirit/doc/html/spirit/karma/reference/string libs/spirit/doc/html/spirit/karma/tutorials libs/spirit/doc/html/spirit/lex libs/spirit/doc/html/spirit/lex/abstracts libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives libs/spirit/doc/html/spirit/lex/quick_reference libs/spirit/doc/html/spirit/lex/reference libs/spirit/doc/html/spirit/lex/reference/lexer_concepts libs/spirit/doc/html/spirit/lex/reference/primitives libs/spirit/doc/html/spirit/lex/tutorials libs/spirit/doc/html/spirit/notes libs/spirit/doc/html/spirit/qi libs/spirit/doc/html/spirit/qi/quick_reference libs/spirit/doc/html/spirit/qi/reference libs/spirit/doc/html/spirit/qi/reference/auxiliary libs/spirit/doc/html/spirit/qi/reference/binary libs/spirit/doc/html/spirit/qi/reference/char libs/spirit/doc/html/spirit/qi/reference/directive libs/spirit/doc/html/spirit/qi/reference/nonterminal libs/spirit/doc/html/spirit/qi/reference/numeric libs/spirit/doc/html/spirit/qi/reference/operator libs/spirit/doc/html/spirit/qi/reference/parse_api libs/spirit/doc/html/spirit/qi/reference/parser_concepts libs/spirit/doc/html/spirit/qi/reference/stream libs/spirit/doc/html/spirit/qi/reference/string libs/spirit/doc/html/spirit/qi/tutorials libs/spirit/doc/html/spirit/support libs/spirit/doc/html/spirit/what_s_new libs/spirit/doc/karma libs/spirit/doc/qi libs/spirit/example/qi libs/spirit/test libs/spirit/test/karma libs/spirit/test/qi
From: admin_at_[hidden]
Date: 2011-01-01 17:23:37


Author: wash
Date: 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
New Revision: 67553
URL: http://svn.boost.org/trac/boost/changeset/67553

Log:
Parameterized and literal support for integer, real and boolean parsers. Fix for
lazy parser and handles_container<>. Added docs for as<T> (docs for Qi only).

Added:
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/as.html (contents, props changed)
   trunk/libs/spirit/test/karma/int1.cpp
      - copied unchanged from r67512, /trunk/libs/spirit/test/karma/int_numerics1.cpp
   trunk/libs/spirit/test/karma/int2.cpp
      - copied unchanged from r67512, /trunk/libs/spirit/test/karma/int_numerics2.cpp
   trunk/libs/spirit/test/karma/int3.cpp
      - copied unchanged from r67512, /trunk/libs/spirit/test/karma/int_numerics3.cpp
   trunk/libs/spirit/test/karma/real.hpp
      - copied unchanged from r67512, /trunk/libs/spirit/test/karma/real_numerics.hpp
   trunk/libs/spirit/test/karma/real1.cpp
      - copied, changed from r67512, /trunk/libs/spirit/test/karma/real_numerics1.cpp
   trunk/libs/spirit/test/karma/real2.cpp
      - copied, changed from r67512, /trunk/libs/spirit/test/karma/real_numerics2.cpp
   trunk/libs/spirit/test/karma/real3.cpp
      - copied, changed from r67512, /trunk/libs/spirit/test/karma/real_numerics3.cpp
   trunk/libs/spirit/test/qi/bool.hpp (contents, props changed)
   trunk/libs/spirit/test/qi/bool1.cpp
      - copied, changed from r67512, /trunk/libs/spirit/test/qi/bool.cpp
   trunk/libs/spirit/test/qi/bool2.cpp (contents, props changed)
   trunk/libs/spirit/test/qi/int3.cpp (contents, props changed)
   trunk/libs/spirit/test/qi/real5.cpp (contents, props changed)
   trunk/libs/spirit/test/qi/regression_float_fraction.cpp (contents, props changed)
   trunk/libs/spirit/test/qi/regression_lazy_repeat.cpp (contents, props changed)
   trunk/libs/spirit/test/qi/uint3.cpp (contents, props changed)
Removed:
   trunk/libs/spirit/test/karma/int_numerics1.cpp
   trunk/libs/spirit/test/karma/int_numerics2.cpp
   trunk/libs/spirit/test/karma/int_numerics3.cpp
   trunk/libs/spirit/test/karma/real_numerics.hpp
   trunk/libs/spirit/test/karma/real_numerics1.cpp
   trunk/libs/spirit/test/karma/real_numerics2.cpp
   trunk/libs/spirit/test/karma/real_numerics3.cpp
   trunk/libs/spirit/test/qi/bool.cpp
Text files modified:
   trunk/boost/spirit/home/karma/action/action.hpp | 8
   trunk/boost/spirit/home/karma/detail/pass_container.hpp | 6
   trunk/boost/spirit/home/karma/directive/as.hpp | 6
   trunk/boost/spirit/home/karma/directive/buffer.hpp | 8
   trunk/boost/spirit/home/karma/directive/center_alignment.hpp | 16
   trunk/boost/spirit/home/karma/directive/columns.hpp | 8
   trunk/boost/spirit/home/karma/directive/delimit.hpp | 17
   trunk/boost/spirit/home/karma/directive/duplicate.hpp | 8
   trunk/boost/spirit/home/karma/directive/left_alignment.hpp | 14
   trunk/boost/spirit/home/karma/directive/maxwidth.hpp | 8
   trunk/boost/spirit/home/karma/directive/no_delimit.hpp | 8
   trunk/boost/spirit/home/karma/directive/omit.hpp | 8
   trunk/boost/spirit/home/karma/directive/repeat.hpp | 12
   trunk/boost/spirit/home/karma/directive/right_alignment.hpp | 16
   trunk/boost/spirit/home/karma/directive/verbatim.hpp | 8
   trunk/boost/spirit/home/karma/nonterminal/grammar.hpp | 14
   trunk/boost/spirit/home/karma/nonterminal/rule.hpp | 14
   trunk/boost/spirit/home/karma/numeric/bool.hpp | 4
   trunk/boost/spirit/home/karma/numeric/int.hpp | 19
   trunk/boost/spirit/home/karma/numeric/real.hpp | 4
   trunk/boost/spirit/home/karma/numeric/uint.hpp | 14
   trunk/boost/spirit/home/karma/operator/alternative.hpp | 18 +
   trunk/boost/spirit/home/karma/operator/and_predicate.hpp | 8
   trunk/boost/spirit/home/karma/operator/kleene.hpp | 12
   trunk/boost/spirit/home/karma/operator/list.hpp | 12
   trunk/boost/spirit/home/karma/operator/not_predicate.hpp | 8
   trunk/boost/spirit/home/karma/operator/optional.hpp | 8
   trunk/boost/spirit/home/karma/operator/plus.hpp | 16
   trunk/boost/spirit/home/karma/operator/sequence.hpp | 20 +
   trunk/boost/spirit/home/karma/reference.hpp | 9
   trunk/boost/spirit/home/karma/string/lit.hpp | 14
   trunk/boost/spirit/home/qi/action/action.hpp | 8
   trunk/boost/spirit/home/qi/auxiliary/lazy.hpp | 25 ++
   trunk/boost/spirit/home/qi/detail/pass_container.hpp | 7
   trunk/boost/spirit/home/qi/directive/as.hpp | 9
   trunk/boost/spirit/home/qi/directive/hold.hpp | 8
   trunk/boost/spirit/home/qi/directive/lexeme.hpp | 8
   trunk/boost/spirit/home/qi/directive/matches.hpp | 8
   trunk/boost/spirit/home/qi/directive/no_skip.hpp | 8
   trunk/boost/spirit/home/qi/directive/omit.hpp | 8
   trunk/boost/spirit/home/qi/directive/raw.hpp | 8
   trunk/boost/spirit/home/qi/directive/repeat.hpp | 6
   trunk/boost/spirit/home/qi/directive/skip.hpp | 16
   trunk/boost/spirit/home/qi/nonterminal/grammar.hpp | 11
   trunk/boost/spirit/home/qi/nonterminal/rule.hpp | 12
   trunk/boost/spirit/home/qi/numeric/bool.hpp | 254 +++++++++++++++++-----
   trunk/boost/spirit/home/qi/numeric/int.hpp | 343 +++++++++++++++++++++-----------
   trunk/boost/spirit/home/qi/numeric/real.hpp | 262 +++++++++++++++++++++---
   trunk/boost/spirit/home/qi/numeric/uint.hpp | 426 ++++++++++++++++++++++++++-------------
   trunk/boost/spirit/home/qi/operator/alternative.hpp | 8
   trunk/boost/spirit/home/qi/operator/and_predicate.hpp | 8
   trunk/boost/spirit/home/qi/operator/difference.hpp | 8
   trunk/boost/spirit/home/qi/operator/expect.hpp | 8
   trunk/boost/spirit/home/qi/operator/kleene.hpp | 8
   trunk/boost/spirit/home/qi/operator/list.hpp | 6
   trunk/boost/spirit/home/qi/operator/not_predicate.hpp | 8
   trunk/boost/spirit/home/qi/operator/optional.hpp | 8
   trunk/boost/spirit/home/qi/operator/permutation.hpp | 8
   trunk/boost/spirit/home/qi/operator/plus.hpp | 8
   trunk/boost/spirit/home/qi/operator/sequence.hpp | 8
   trunk/boost/spirit/home/qi/operator/sequence_base.hpp | 1
   trunk/boost/spirit/home/qi/operator/sequential_or.hpp | 8
   trunk/boost/spirit/home/qi/reference.hpp | 9
   trunk/boost/spirit/home/qi/string/lit.hpp | 14
   trunk/boost/spirit/home/support/attributes_fwd.hpp | 4
   trunk/boost/spirit/home/support/handles_container.hpp | 27 +-
   trunk/boost/spirit/home/support/utree/utree_traits.hpp | 42 ++-
   trunk/libs/spirit/doc/Jamfile | 27 +
   trunk/libs/spirit/doc/advanced/indepth.qbk | 25 +
   trunk/libs/spirit/doc/html/index.html | 8
   trunk/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html | 4
   trunk/libs/spirit/doc/html/spirit/abstracts/parsing_expression_grammar.html | 14
   trunk/libs/spirit/doc/html/spirit/abstracts/syntax_diagram.html | 16
   trunk/libs/spirit/doc/html/spirit/acknowledgments.html | 2
   trunk/libs/spirit/doc/html/spirit/advanced.html | 2
   trunk/libs/spirit/doc/html/spirit/advanced/customize.html | 6
   trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_iterators.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_attribute_from_value.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/clear_value.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/extract_from.html | 20
   trunk/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html | 340 +++++++++++++++++++++++++++++++
   trunk/libs/spirit/doc/html/spirit/advanced/customize/is_container.html | 24 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/container_value.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/store_value/push_back.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/customize/transform.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/advanced/indepth/parsers_indepth.html | 92 ++------
   trunk/libs/spirit/doc/html/spirit/faq.html | 8
   trunk/libs/spirit/doc/html/spirit/introduction.html | 8
   trunk/libs/spirit/doc/html/spirit/karma.html | 7
   trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html | 6
   trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html | 4
   trunk/libs/spirit/doc/html/spirit/karma/reference/action.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/auto.html | 18
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/basics.html | 8
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/char.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html | 26 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html | 10
   trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html | 10
   trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html | 10
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html | 12
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html | 10
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html | 12
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html | 10
   trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html | 12
   trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html | 26 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html | 26 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html | 46 ++--
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html | 14
   trunk/libs/spirit/doc/html/spirit/karma/reference/stream.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/karma/reference/string.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/reference/string/string.html | 16
   trunk/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html | 20
   trunk/libs/spirit/doc/html/spirit/karma/s05.html | 4
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html | 8
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html | 4
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html | 2
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html | 4
   trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html | 10
   trunk/libs/spirit/doc/html/spirit/lex.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html | 4
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html | 4
   trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html | 2
   trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html | 6
   trunk/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html | 4
   trunk/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html | 4
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html | 10
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html | 10
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html | 12
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html | 8
   trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html | 12
   trunk/libs/spirit/doc/html/spirit/lex/reference/primitives.html | 2
   trunk/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html | 14
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html | 10
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html | 8
   trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html | 8
   trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html | 10
   trunk/libs/spirit/doc/html/spirit/preface.html | 20
   trunk/libs/spirit/doc/html/spirit/qi.html | 1
   trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html | 4
   trunk/libs/spirit/doc/html/spirit/qi/reference/action.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/auto.html | 22 +
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html | 20
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html | 20
   trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/char.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/char/char.html | 26 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html | 7
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html | 8
   trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html | 20
   trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html | 20
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html | 203 +++++++++++++++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html | 259 +++++++++++++++++++----
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html | 233 ++++++++++++++++++---
   trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html | 300 +++++++++++++++++++++------
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html | 18
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/list.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html | 18
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html | 10
   trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html | 8
   trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html | 10
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html | 12
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html | 12
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html | 20
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html | 10
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html | 10
   trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html | 12
   trunk/libs/spirit/doc/html/spirit/qi/reference/stream.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/qi/reference/string.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/reference/string/string.html | 16
   trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html | 26 +-
   trunk/libs/spirit/doc/html/spirit/qi/s04.html | 9
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html | 14
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html | 22 +-
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html | 6
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html | 2
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html | 8
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html | 4
   trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html | 10
   trunk/libs/spirit/doc/html/spirit/support/multi_pass.html | 26 +-
   trunk/libs/spirit/doc/html/spirit/support/utree.html | 10
   trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html | 4
   trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html | 6
   trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html | 10
   trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html | 12
   trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html | 4
   trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html | 12
   trunk/libs/spirit/doc/karma/numeric.qbk | 24 +-
   trunk/libs/spirit/doc/qi/directive.qbk | 114 ++++++++++
   trunk/libs/spirit/doc/qi/numeric.qbk | 414 +++++++++++++++++++++++++++++++++----
   trunk/libs/spirit/example/qi/reference.cpp | 104 +++++++++
   trunk/libs/spirit/test/Jamfile | 24 +
   trunk/libs/spirit/test/karma/real1.cpp | 2
   trunk/libs/spirit/test/karma/real2.cpp | 2
   trunk/libs/spirit/test/karma/real3.cpp | 2
   trunk/libs/spirit/test/qi/auto.cpp | 8
   trunk/libs/spirit/test/qi/bool1.cpp | 38 ---
   trunk/libs/spirit/test/qi/int.hpp | 1
   trunk/libs/spirit/test/qi/int2.cpp | 144 ++++++++----
   trunk/libs/spirit/test/qi/real.hpp | 4
   trunk/libs/spirit/test/qi/real1.cpp | 41 ++-
   trunk/libs/spirit/test/qi/real2.cpp | 11
   trunk/libs/spirit/test/qi/real3.cpp | 13
   trunk/libs/spirit/test/qi/real4.cpp | 26 -
   trunk/libs/spirit/test/qi/uint.hpp | 22 +
   trunk/libs/spirit/test/qi/uint1.cpp | 17 -
   trunk/libs/spirit/test/qi/uint2.cpp | 105 +++++----
   283 files changed, 4574 insertions(+), 2390 deletions(-)

Modified: trunk/boost/spirit/home/karma/action/action.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/action/action.hpp (original)
+++ trunk/boost/spirit/home/karma/action/action.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -127,9 +127,11 @@
       : mpl::true_ {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Action, typename Attribute>
- struct handles_container<karma::action<Subject, Action>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Action, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::action<Subject, Action>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/detail/pass_container.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/pass_container.hpp (original)
+++ trunk/boost/spirit/home/karma/detail/pass_container.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -114,7 +114,8 @@
 
             typedef mpl::and_<
                 traits::is_container<attribute_type>
- , traits::handles_container<Component, Attr> > predicate;
+ , traits::handles_container<Component, Attr, context_type>
+ > predicate;
 
             return dispatch_attribute_element(component, predicate());
         }
@@ -164,7 +165,8 @@
 
             typedef mpl::and_<
                 has_same_elements<rhs, lhs_attribute>
- , traits::handles_container<Component, Attr> > predicate;
+ , traits::handles_container<Component, Attr, context_type>
+ > predicate;
 
             // false means everything went ok
             return dispatch_main(component, predicate());

Modified: trunk/boost/spirit/home/karma/directive/as.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/as.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/as.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -145,8 +145,10 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename T, typename Attribute>
- struct handles_container<karma::as_directive<Subject, T>, Attribute>
+ template <typename Subject, typename T, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::as_directive<Subject, T>, Attribute
+ , Context, Iterator>
       : mpl::false_ {}; // always dereference attribute if used in sequences
 }}}
 

Modified: trunk/boost/spirit/home/karma/directive/buffer.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/buffer.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/buffer.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -120,9 +120,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::buffer_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::buffer_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/center_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/center_alignment.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/center_alignment.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -313,15 +313,19 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Width, typename Attribute>
+ template <typename Subject, typename Width, typename Attribute
+ , typename Context, typename Iterator>
     struct handles_container<
- karma::simple_center_alignment<Subject, Width>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ karma::simple_center_alignment<Subject, Width>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 
- template <typename Subject, typename Padding, typename Width, typename Attribute>
+ template <typename Subject, typename Padding, typename Width
+ , typename Attribute, typename Context, typename Iterator>
     struct handles_container<
- karma::padding_center_alignment<Subject, Padding, Width>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ karma::padding_center_alignment<Subject, Padding, Width>
+ , Attribute, Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/columns.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/columns.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/columns.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -273,10 +273,12 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename T1, typename T2, typename Attribute>
+ template <typename Subject, typename T1, typename T2, typename Attribute
+ , typename Context, typename Iterator>
     struct handles_container<
- karma::columns_generator<Subject, T1, T2>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ karma::columns_generator<Subject, T1, T2>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/delimit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/delimit.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/delimit.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -182,14 +182,17 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::redelimit_generator<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::redelimit_generator<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 
- template <typename Subject, typename Delimiter, typename Attribute>
- struct handles_container<
- karma::delimit_generator<Subject, Delimiter>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Delimiter, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::delimit_generator<Subject, Delimiter>
+ , Attribute, Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/duplicate.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/duplicate.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/duplicate.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -217,9 +217,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::duplicate_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::duplicate_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/left_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/left_alignment.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/left_alignment.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -296,17 +296,19 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Width, typename Attribute>
+ template <typename Subject, typename Width, typename Attribute
+ , typename Context, typename Iterator>
     struct handles_container<
- karma::simple_left_alignment<Subject, Width>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ karma::simple_left_alignment<Subject, Width>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 
     template <typename Subject, typename Padding, typename Width
- , typename Attribute>
+ , typename Attribute, typename Context, typename Iterator>
     struct handles_container<
             karma::padding_left_alignment<Subject, Padding, Width>
- , Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ , Attribute, Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/maxwidth.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/maxwidth.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/maxwidth.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -232,9 +232,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Width, typename Rest, typename Attribute>
- struct handles_container<karma::maxwidth_width<Subject, Width, Rest>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::maxwidth_width<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/no_delimit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/no_delimit.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/no_delimit.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -104,9 +104,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::no_delimit_generator<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::no_delimit_generator<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/omit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/omit.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/omit.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -123,9 +123,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, bool Execute, typename Attribute>
- struct handles_container<karma::omit_directive<Subject, Execute>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, bool Execute, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::omit_directive<Subject, Execute>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/directive/repeat.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/repeat.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/repeat.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -361,14 +361,18 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename LoopIter, typename Attribute>
+ template <typename Subject, typename LoopIter, typename Attribute
+ , typename Context, typename Iterator>
     struct handles_container<
- karma::repeat_generator<Subject, LoopIter>, Attribute>
+ karma::repeat_generator<Subject, LoopIter>, Attribute
+ , Context, Iterator>
       : mpl::true_ {};
 
- template <typename Subject, typename LoopIter, typename Attribute>
+ template <typename Subject, typename LoopIter, typename Attribute
+ , typename Context, typename Iterator>
     struct handles_container<
- karma::strict_repeat_generator<Subject, LoopIter>, Attribute>
+ karma::strict_repeat_generator<Subject, LoopIter>, Attribute
+ , Context, Iterator>
       : mpl::true_ {};
 }}}
 

Modified: trunk/boost/spirit/home/karma/directive/right_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/right_alignment.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/right_alignment.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -306,18 +306,20 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Width, typename Attribute>
+ template <typename Subject, typename Width, typename Attribute
+ , typename Context, typename Iterator>
     struct handles_container<
- karma::simple_right_alignment<Subject, Width>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ karma::simple_right_alignment<Subject, Width>
+ , Attribute, Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 
- template <typename Subject, typename Padding, typename Width, typename Attribute>
+ template <typename Subject, typename Padding, typename Width
+ , typename Attribute, typename Context, typename Iterator>
     struct handles_container<
             karma::padding_right_alignment<Subject, Padding, Width>
- , Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ , Attribute, Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif
 
-

Modified: trunk/boost/spirit/home/karma/directive/verbatim.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/verbatim.hpp (original)
+++ trunk/boost/spirit/home/karma/directive/verbatim.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -102,9 +102,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::verbatim_generator<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::verbatim_generator<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/nonterminal/grammar.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/nonterminal/grammar.hpp (original)
+++ trunk/boost/spirit/home/karma/nonterminal/grammar.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -118,14 +118,16 @@
 {
     ///////////////////////////////////////////////////////////////////////////
     template <
- typename OutputIterator, typename T1, typename T2, typename T3
- , typename T4, typename Attribute>
+ typename IteratorA, typename IteratorB, typename Attribute
+ , typename Context, typename T1, typename T2, typename T3, typename T4>
     struct handles_container<
- karma::grammar<OutputIterator, T1, T2, T3, T4>, Attribute>
- : detail::nonterminal_handles_container<
+ karma::grammar<IteratorA, T1, T2, T3, T4>, Attribute, Context
+ , IteratorB>
+ : detail::nonterminal_handles_container<
             typename attribute_of<
- karma::grammar<OutputIterator, T1, T2, T3, T4> >::type
- , Attribute>
+ karma::grammar<IteratorA, T1, T2, T3, T4>
+ , Context, IteratorB
+ >::type, Attribute>
     {};
 }}}
 

Modified: trunk/boost/spirit/home/karma/nonterminal/rule.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/nonterminal/rule.hpp (original)
+++ trunk/boost/spirit/home/karma/nonterminal/rule.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -400,14 +400,16 @@
 
     ///////////////////////////////////////////////////////////////////////////
     template <
- typename OutputIterator, typename T1, typename T2, typename T3
- , typename T4, typename Attribute>
+ typename IteratorA, typename IteratorB, typename Attribute
+ , typename Context, typename T1, typename T2, typename T3, typename T4>
     struct handles_container<
- karma::rule<OutputIterator, T1, T2, T3, T4>, Attribute>
- : detail::nonterminal_handles_container<
+ karma::rule<IteratorA, T1, T2, T3, T4>, Attribute, Context
+ , IteratorB>
+ : detail::nonterminal_handles_container<
             typename attribute_of<
- karma::rule<OutputIterator, T1, T2, T3, T4> >::type
- , Attribute>
+ karma::rule<IteratorA, T1, T2, T3, T4>
+ , Context, IteratorB
+ >::type, Attribute>
     {};
 }}}
 

Modified: trunk/boost/spirit/home/karma/numeric/bool.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/bool.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/bool.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -36,8 +36,8 @@
         struct bool_policies;
 
         ///////////////////////////////////////////////////////////////////////
- // This one is the class that the user can instantiate directly in
- // order to create a customized int generator
+ // This is the class that the user can instantiate directly in
+ // order to create a customized bool generator
         template <typename T = bool, typename Policies = bool_policies<T> >
         struct bool_generator
           : spirit::terminal<tag::stateful_tag<Policies, tag::bool_, T> >

Modified: trunk/boost/spirit/home/karma/numeric/int.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/int.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/int.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -35,7 +35,7 @@
     namespace tag
     {
         template <typename T, unsigned Radix, bool force_sign>
- struct int_tag {};
+ struct int_generator {};
     }
 
     namespace karma
@@ -45,7 +45,7 @@
         // order to create a customized int generator
         template <typename T = int, unsigned Radix = 10, bool force_sign = false>
         struct int_generator
- : spirit::terminal<tag::int_tag<T, Radix, force_sign> >
+ : spirit::terminal<tag::int_generator<T, Radix, force_sign> >
         {};
     }
 
@@ -134,20 +134,21 @@
     ///////////////////////////////////////////////////////////////////////////
     // enables any custom int_generator
     template <typename T, unsigned Radix, bool force_sign>
- struct use_terminal<karma::domain, tag::int_tag<T, Radix, force_sign> >
+ struct use_terminal<karma::domain, tag::int_generator<T, Radix, force_sign> >
       : mpl::true_ {};
 
     // enables any custom int_generator(...)
     template <typename T, unsigned Radix, bool force_sign, typename A0>
     struct use_terminal<karma::domain
- , terminal_ex<tag::int_tag<T, Radix, force_sign>, fusion::vector1<A0> >
+ , terminal_ex<tag::int_generator<T, Radix, force_sign>
+ , fusion::vector1<A0> >
> : mpl::true_ {};
 
     // enables *lazy* custom int_generator
     template <typename T, unsigned Radix, bool force_sign>
     struct use_lazy_terminal<
         karma::domain
- , tag::int_tag<T, Radix, force_sign>
+ , tag::int_generator<T, Radix, force_sign>
       , 1 // arity
> : mpl::true_ {};
 
@@ -364,7 +365,7 @@
 #endif
 
     template <typename T, unsigned Radix, bool force_sign, typename Modifiers>
- struct make_primitive<tag::int_tag<T, Radix, force_sign>, Modifiers>
+ struct make_primitive<tag::int_generator<T, Radix, force_sign>, Modifiers>
       : detail::make_int<T, Modifiers, Radix, force_sign> {};
 
     ///////////////////////////////////////////////////////////////////////////
@@ -421,8 +422,8 @@
     template <typename T, unsigned Radix, bool force_sign, typename A0
       , typename Modifiers>
     struct make_primitive<
- terminal_ex<tag::int_tag<T, Radix, force_sign>, fusion::vector1<A0> >
- , Modifiers>
+ terminal_ex<tag::int_generator<T, Radix, force_sign>
+ , fusion::vector1<A0> >, Modifiers>
       : detail::make_int_direct<T, Modifiers, Radix, force_sign> {};
 
     ///////////////////////////////////////////////////////////////////////////
@@ -454,7 +455,7 @@
 
     template <typename Modifiers>
     struct make_primitive<short, Modifiers>
- : detail::basic_int_literal<int, Modifiers> {};
+ : detail::basic_int_literal<short, Modifiers> {};
 
     template <typename Modifiers>
     struct make_primitive<int, Modifiers>

Modified: trunk/boost/spirit/home/karma/numeric/real.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/real.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/real.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -40,7 +40,7 @@
         struct real_policies;
 
         ///////////////////////////////////////////////////////////////////////
- // This one is the class that the user can instantiate directly in
+ // This is the class that the user can instantiate directly in
         // order to create a customized real generator
         template <typename T = double, typename Policies = real_policies<T> >
         struct real_generator
@@ -71,7 +71,7 @@
 
     ///////////////////////////////////////////////////////////////////////////
     template <>
- struct use_terminal<karma::domain, float> // enables lit(1.of)
+ struct use_terminal<karma::domain, float> // enables lit(1.0f)
       : mpl::true_ {};
 
     template <>

Modified: trunk/boost/spirit/home/karma/numeric/uint.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/numeric/uint.hpp (original)
+++ trunk/boost/spirit/home/karma/numeric/uint.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -37,7 +37,7 @@
     namespace tag
     {
         template <typename T, unsigned Radix>
- struct uint_tag {};
+ struct uint_generator {};
     }
 
     namespace karma
@@ -47,7 +47,7 @@
         // order to create a customized int generator
         template <typename T = unsigned int, unsigned Radix = 10>
         struct uint_generator
- : spirit::terminal<tag::uint_tag<T, Radix> >
+ : spirit::terminal<tag::uint_generator<T, Radix> >
         {};
     }
 
@@ -177,20 +177,20 @@
     ///////////////////////////////////////////////////////////////////////////
     // enables any custom uint_generator
     template <typename T, unsigned Radix>
- struct use_terminal<karma::domain, tag::uint_tag<T, Radix> >
+ struct use_terminal<karma::domain, tag::uint_generator<T, Radix> >
       : mpl::true_ {};
 
     // enables any custom uint_generator(...)
     template <typename T, unsigned Radix, typename A0>
     struct use_terminal<karma::domain
- , terminal_ex<tag::uint_tag<T, Radix>, fusion::vector1<A0> >
+ , terminal_ex<tag::uint_generator<T, Radix>, fusion::vector1<A0> >
> : mpl::true_ {};
 
     // enables *lazy* custom uint_generator
     template <typename T, unsigned Radix>
     struct use_lazy_terminal<
         karma::domain
- , tag::uint_tag<T, Radix>
+ , tag::uint_generator<T, Radix>
       , 1 // arity
> : mpl::true_ {};
 
@@ -407,7 +407,7 @@
 #endif
 
     template <typename T, unsigned Radix, typename Modifiers>
- struct make_primitive<tag::uint_tag<T, Radix>, Modifiers>
+ struct make_primitive<tag::uint_generator<T, Radix>, Modifiers>
       : detail::make_uint<T, Modifiers, Radix> {};
 
     ///////////////////////////////////////////////////////////////////////////
@@ -476,7 +476,7 @@
 
     template <typename T, unsigned Radix, typename A0, typename Modifiers>
     struct make_primitive<
- terminal_ex<tag::uint_tag<T, Radix>, fusion::vector1<A0> >
+ terminal_ex<tag::uint_generator<T, Radix>, fusion::vector1<A0> >
           , Modifiers>
       : detail::make_uint_direct<T, Modifiers, Radix> {};
 

Modified: trunk/boost/spirit/home/karma/operator/alternative.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/alternative.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/alternative.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -188,13 +188,17 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<karma::alternative<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
-
- template <typename Elements, typename Attribute>
- struct handles_container<karma::strict_alternative<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::alternative<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
+
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::strict_alternative<Elements>, Attribute
+ , Context, Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/operator/and_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/and_predicate.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/and_predicate.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -85,9 +85,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::and_predicate<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::and_predicate<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/operator/kleene.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/kleene.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/kleene.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -167,12 +167,16 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::kleene<Subject>, Attribute>
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::kleene<Subject>, Attribute
+ , Context, Iterator>
       : mpl::true_ {};
 
- template <typename Subject, typename Attribute>
- struct handles_container<karma::strict_kleene<Subject>, Attribute>
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::strict_kleene<Subject>, Attribute
+ , Context, Iterator>
       : mpl::true_ {};
 }}}
 

Modified: trunk/boost/spirit/home/karma/operator/list.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/list.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/list.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -200,12 +200,16 @@
       : binary_has_semantic_action<Left, Right> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right, typename Attribute>
- struct handles_container<karma::list<Left, Right>, Attribute>
+ template <typename Left, typename Right, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::list<Left, Right>, Attribute
+ , Context, Iterator>
       : mpl::true_ {};
 
- template <typename Left, typename Right, typename Attribute>
- struct handles_container<karma::strict_list<Left, Right>, Attribute>
+ template <typename Left, typename Right, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::strict_list<Left, Right>, Attribute
+ , Context, Iterator>
       : mpl::true_ {};
 }}}
 

Modified: trunk/boost/spirit/home/karma/operator/not_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/not_predicate.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/not_predicate.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -86,9 +86,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::not_predicate<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::not_predicate<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/operator/optional.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/optional.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/optional.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -95,9 +95,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::optional<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::optional<Subject>, Attribute, Context
+ , Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/operator/plus.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/plus.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/plus.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -181,13 +181,17 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::plus<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::plus<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 
- template <typename Subject, typename Attribute>
- struct handles_container<karma::strict_plus<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::strict_plus<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/operator/sequence.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/sequence.hpp (original)
+++ trunk/boost/spirit/home/karma/operator/sequence.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -393,15 +393,17 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<karma::sequence<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute>
- {};
-
- template <typename Elements, typename Attribute>
- struct handles_container<karma::strict_sequence<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute>
- {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::sequence<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
+
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::strict_sequence<Elements>, Attribute
+ , Context, Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/karma/reference.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/reference.hpp (original)
+++ trunk/boost/spirit/home/karma/reference.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -79,9 +79,12 @@
 namespace boost { namespace spirit { namespace traits
 {
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<karma::reference<Subject>, Attribute>
- : handles_container<typename remove_const<Subject>::type, Attribute>
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::reference<Subject>, Attribute
+ , Context, Iterator>
+ : handles_container<typename remove_const<Subject>::type, Attribute
+ , Context, Iterator>
     {};
 }}}
 

Modified: trunk/boost/spirit/home/karma/string/lit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/string/lit.hpp (original)
+++ trunk/boost/spirit/home/karma/string/lit.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -281,15 +281,17 @@
 namespace boost { namespace spirit { namespace traits
 {
     ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding, typename Tag, typename Attribute>
- struct handles_container<karma::any_string<CharEncoding, Tag>, Attribute>
+ template <typename CharEncoding, typename Tag, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::any_string<CharEncoding, Tag>, Attribute
+ , Context, Iterator>
       : mpl::false_ {};
 
     template <typename String, typename CharEncoding, typename Tag
- , bool no_attribute, typename Attribute>
- struct handles_container<
- karma::literal_string<String, CharEncoding, Tag, no_attribute>
- , Attribute>
+ , bool no_attribute, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<karma::literal_string<String, CharEncoding, Tag
+ , no_attribute>, Attribute, Context, Iterator>
       : mpl::false_ {};
 }}}
 

Modified: trunk/boost/spirit/home/qi/action/action.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/action/action.hpp (original)
+++ trunk/boost/spirit/home/qi/action/action.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -133,9 +133,11 @@
       : mpl::true_ {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Action, typename Attribute>
- struct handles_container<qi::action<Subject, Action>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Action, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::action<Subject, Action>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/auxiliary/lazy.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/auxiliary/lazy.hpp (original)
+++ trunk/boost/spirit/home/qi/auxiliary/lazy.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -220,4 +220,29 @@
     };
 }}}
 
+namespace boost { namespace spirit { namespace traits
+{
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Actor, typename Modifiers, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<
+ qi::lazy_parser<Actor, Modifiers>, Attribute, Context, Iterator>
+ : handles_container<
+ typename qi::lazy_parser<Actor, Modifiers>::template
+ attribute<Context, Iterator>::parser_type
+ , Attribute, Context, Iterator>
+ {};
+
+ template <typename Subject, typename Actor, typename Modifiers
+ , typename Attribute, typename Context, typename Iterator>
+ struct handles_container<
+ qi::lazy_directive<Actor, Subject, Modifiers>, Attribute
+ , Context, Iterator>
+ : handles_container<
+ typename qi::lazy_directive<Actor, Subject, Modifiers>::template
+ attribute<Context, Iterator>::parser_type
+ , Attribute, Context, Iterator>
+ {};
+}}}
+
 #endif

Modified: trunk/boost/spirit/home/qi/detail/pass_container.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/detail/pass_container.hpp (original)
+++ trunk/boost/spirit/home/qi/detail/pass_container.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -105,7 +105,8 @@
 
             typedef mpl::and_<
                 traits::is_container<attribute_type>
- , traits::handles_container<Component, Attr>
+ , traits::handles_container<Component, Attr, context_type
+ , iterator_type>
> predicate;
 
             return dispatch_attribute_element(component, predicate());
@@ -158,7 +159,8 @@
 
             typedef mpl::and_<
                 has_same_elements<lhs, rhs_attribute>
- , traits::handles_container<Component, Attr>
+ , traits::handles_container<Component, Attr, context_type
+ , iterator_type>
> predicate;
 
             return dispatch_main(component, predicate());
@@ -182,3 +184,4 @@
 }}}}
 
 #endif
+

Modified: trunk/boost/spirit/home/qi/directive/as.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/as.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/as.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -81,7 +81,6 @@
         bool parse(Iterator& first, Iterator const& last
           , Context& context, Skipper const& skipper, Attribute& attr) const
         {
- qi::skip_over(first, last, skipper);
             Iterator i = first;
             T as_attr;
             if (subject.parse(i, last, context, skipper, as_attr))
@@ -147,9 +146,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename T, typename Attribute>
- struct handles_container<qi::as_directive<Subject, T>, Attribute>
- : mpl::false_ {}; // always dereference attribute if used in sequences
+ template <typename Subject, typename T, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::as_directive<Subject, T>, Attribute
+ , Context, Iterator>
+ : mpl::false_ {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/hold.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/hold.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/hold.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -97,9 +97,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::hold_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::hold_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/lexeme.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/lexeme.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/lexeme.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -94,9 +94,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::lexeme_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::lexeme_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/matches.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/matches.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/matches.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -96,9 +96,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::matches_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::matches_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/no_skip.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/no_skip.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/no_skip.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -96,9 +96,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::no_skip_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::no_skip_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/omit.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/omit.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/omit.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -95,9 +95,11 @@
       : mpl::false_ {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::omit_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::omit_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/raw.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/raw.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/raw.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -99,9 +99,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::raw_directive<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::raw_directive<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/directive/repeat.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/repeat.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/repeat.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -331,8 +331,10 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename LoopIter, typename Attribute>
- struct handles_container<qi::repeat_parser<Subject, LoopIter>, Attribute>
+ template <typename Subject, typename LoopIter, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::repeat_parser<Subject, LoopIter>
+ , Attribute, Context, Iterator>
       : mpl::true_ {};
 }}}
 

Modified: trunk/boost/spirit/home/qi/directive/skip.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/skip.hpp (original)
+++ trunk/boost/spirit/home/qi/directive/skip.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -172,13 +172,17 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::reskip_parser<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::reskip_parser<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 
- template <typename Subject, typename Skipper, typename Attribute>
- struct handles_container<qi::skip_parser<Subject, Skipper>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Skipper, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::skip_parser<Subject, Skipper>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/nonterminal/grammar.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/nonterminal/grammar.hpp (original)
+++ trunk/boost/spirit/home/qi/nonterminal/grammar.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -117,11 +117,14 @@
 {
     ///////////////////////////////////////////////////////////////////////////
     template <
- typename Iterator, typename T1, typename T2, typename T3
- , typename T4, typename Attribute>
- struct handles_container<qi::grammar<Iterator, T1, T2, T3, T4>, Attribute>
+ typename IteratorA, typename IteratorB, typename Attribute
+ , typename Context, typename T1, typename T2, typename T3, typename T4>
+ struct handles_container<
+ qi::grammar<IteratorA, T1, T2, T3, T4>, Attribute, Context, IteratorB>
       : traits::is_container<
- typename attribute_of<qi::grammar<Iterator, T1, T2, T3, T4> >::type
+ typename attribute_of<
+ qi::grammar<IteratorA, T1, T2, T3, T4>, Context, IteratorB
+ >::type
>
     {};
 }}}

Modified: trunk/boost/spirit/home/qi/nonterminal/rule.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/nonterminal/rule.hpp (original)
+++ trunk/boost/spirit/home/qi/nonterminal/rule.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -394,11 +394,15 @@
 {
     ///////////////////////////////////////////////////////////////////////////
     template <
- typename Iterator, typename T1, typename T2, typename T3
- , typename T4, typename Attribute>
- struct handles_container<qi::rule<Iterator, T1, T2, T3, T4>, Attribute>
+ typename IteratorA, typename IteratorB, typename Attribute
+ , typename Context, typename T1, typename T2, typename T3, typename T4>
+ struct handles_container<
+ qi::rule<IteratorA, T1, T2, T3, T4>, Attribute, Context, IteratorB>
       : traits::is_container<
- typename attribute_of<qi::rule<Iterator, T1, T2, T3, T4> >::type>
+ typename attribute_of<
+ qi::rule<IteratorA, T1, T2, T3, T4>, Context, IteratorB
+ >::type
+ >
     {};
 }}}
 

Modified: trunk/boost/spirit/home/qi/numeric/bool.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/numeric/bool.hpp (original)
+++ trunk/boost/spirit/home/qi/numeric/bool.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,5 +1,6 @@
 /*=============================================================================
- Copyright (c) 2001-2010 Hartmut Kaiser
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
 
     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)
@@ -16,26 +17,84 @@
 #include <boost/spirit/home/qi/parser.hpp>
 #include <boost/spirit/home/qi/numeric/bool_policies.hpp>
 #include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/info.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/detail/workaround.hpp>
 
 namespace boost { namespace spirit
 {
+ namespace qi
+ {
+ ///////////////////////////////////////////////////////////////////////
+ // forward declaration only
+ template <typename T>
+ struct bool_policies;
+
+ ///////////////////////////////////////////////////////////////////////
+ // This is the class that the user can instantiate directly in
+ // order to create a customized bool parser
+ template <typename T, typename BoolPolicies = bool_policies<T> >
+ struct bool_parser
+ : spirit::terminal<tag::stateful_tag<BoolPolicies, tag::bool_, T> >
+ {
+ typedef tag::stateful_tag<BoolPolicies, tag::bool_, T> tag_type;
+
+ bool_parser() {}
+ bool_parser(BoolPolicies const& data)
+ : spirit::terminal<tag_type>(data) {}
+ };
+ }
+
     ///////////////////////////////////////////////////////////////////////////
     // Enablers
     ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_terminal<qi::domain, tag::bool_> // enables bool_
+ template <> // enables bool_
+ struct use_terminal<qi::domain, tag::bool_>
+ : mpl::true_ {};
+
+ template <> // enables true_
+ struct use_terminal<qi::domain, tag::true_>
+ : mpl::true_ {};
+
+ template <> // enables false_
+ struct use_terminal<qi::domain, tag::false_>
+ : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables lit(true)
+ struct use_terminal<qi::domain, bool>
+ : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename A0> // enables bool_(...)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::bool_, fusion::vector1<A0> >
+ > : mpl::true_ {};
+
+ template <> // enables *lazy* bool_(...)
+ struct use_lazy_terminal<qi::domain, tag::bool_, 1>
       : mpl::true_ {};
 
- template <>
- struct use_terminal<qi::domain, tag::true_> // enables true_
+ ///////////////////////////////////////////////////////////////////////////
+ // enables any custom bool_parser
+ template <typename T, typename BoolPolicies>
+ struct use_terminal<qi::domain
+ , tag::stateful_tag<BoolPolicies, tag::bool_, T> >
       : mpl::true_ {};
 
- template <>
- struct use_terminal<qi::domain, tag::false_> // enables false_
+ // enables any custom bool_parser(...)
+ template <typename T, typename BoolPolicies, typename A0>
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::stateful_tag<BoolPolicies, tag::bool_, T>
+ , fusion::vector1<A0> > >
       : mpl::true_ {};
+
+ // enables *lazy* custom bool_parser(...)
+ template <typename T, typename BoolPolicies>
+ struct use_lazy_terminal<
+ qi::domain
+ , tag::stateful_tag<BoolPolicies, tag::bool_, T>
+ , 1 // arity
+ > : mpl::true_ {};
 }}
 
 namespace boost { namespace spirit { namespace qi
@@ -46,15 +105,17 @@
     using spirit::true__type;
     using spirit::false_;
     using spirit::false__type;
+
+ using spirit::lit; // lit(true) is equivalent to true
 
     namespace detail
     {
- template <typename T, typename Policies>
+ template <typename T, typename BoolPolicies>
         struct bool_impl
         {
             template <typename Iterator, typename Attribute>
             static bool parse(Iterator& first, Iterator const& last
- , Attribute& attr, Policies const& p, bool allow_true = true
+ , Attribute& attr, BoolPolicies const& p, bool allow_true = true
               , bool disallow_false = false)
             {
                 if (first == last)
@@ -72,11 +133,9 @@
     ///////////////////////////////////////////////////////////////////////////
     // This actual boolean parser
     ///////////////////////////////////////////////////////////////////////////
- template <
- typename T = bool
- , typename Policies = bool_policies<T> >
- struct bool_parser_impl
- : primitive_parser<bool_parser_impl<T, Policies> >
+ template <typename T, typename BoolPolicies = bool_policies<T> >
+ struct any_bool_parser
+ : primitive_parser<any_bool_parser<T, BoolPolicies> >
     {
         template <typename Context, typename Iterator>
         struct attribute
@@ -90,9 +149,9 @@
           , Context& /*context*/, Skipper const& skipper
           , Attribute& attr) const
         {
+ typedef detail::bool_impl<T, BoolPolicies> extract;
             qi::skip_over(first, last, skipper);
- return detail::bool_impl<T, Policies>::
- parse(first, last, attr, Policies());
+ return extract::parse(first, last, attr, BoolPolicies());
         }
 
         template <typename Context>
@@ -102,21 +161,18 @@
         }
     };
 
- template <
- typename T = bool
- , typename Policies = bool_policies<T> >
- struct bool_parser_literal_impl
- : primitive_parser<bool_parser_literal_impl<T, Policies> >
+ template <typename T, typename BoolPolicies = bool_policies<T>
+ , bool no_attribute = true>
+ struct literal_bool_parser
+ : primitive_parser<literal_bool_parser<T, BoolPolicies, no_attribute> >
     {
+ template <typename Value>
+ literal_bool_parser(Value const& n) : n_(n) {}
+
         template <typename Context, typename Iterator>
         struct attribute
- {
- typedef T type;
- };
-
- bool_parser_literal_impl(typename add_const<T>::type n)
- : n_(n)
- {}
+ : mpl::if_c<no_attribute, unused_type, T>
+ {};
 
         template <typename Iterator, typename Context
           , typename Skipper, typename Attribute>
@@ -124,9 +180,9 @@
           , Context& /*context*/, Skipper const& skipper
           , Attribute& attr) const
         {
+ typedef detail::bool_impl<T, BoolPolicies> extract;
             qi::skip_over(first, last, skipper);
- return detail::bool_impl<T, Policies>::
- parse(first, last, attr, Policies(), n_, n_);
+ return extract::parse(first, last, attr, BoolPolicies(), n_, n_);
         }
 
         template <typename Context>
@@ -139,27 +195,22 @@
     };
 
     ///////////////////////////////////////////////////////////////////////////
- // bool_parser is the class that the user can instantiate directly
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename T
- , typename Policies = bool_policies<T> >
- struct bool_parser
- : proto::terminal<bool_parser_impl<T, Policies> >::type
- {};
-
- ///////////////////////////////////////////////////////////////////////////
     // Parser generators: make_xxx function (objects)
     ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::bool_, Modifiers>
+ template <typename T, typename Modifiers
+ , typename Policies = bool_policies<T> >
+ struct make_bool
     {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> > no_case;
+ typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
+ no_case;
 
         typedef typename mpl::if_<
- no_case
- , bool_parser_impl<bool, no_case_bool_policies<> >
- , bool_parser_impl<> >::type
+ mpl::and_<
+ no_case
+ , is_same<bool_policies<T>, Policies>
+ >
+ , any_bool_parser<T, no_case_bool_policies<T> >
+ , any_bool_parser<T, Policies> >::type
         result_type;
 
         result_type operator()(unused_type, unused_type) const
@@ -167,37 +218,114 @@
             return result_type();
         }
     };
+
+ template <typename T, typename Modifiers
+ , typename Policies = bool_policies<T> >
+ struct make_direct_bool
+ {
+ typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
+ no_case;
 
- namespace detail
+ typedef typename mpl::if_<
+ mpl::and_<
+ no_case
+ , is_same<bool_policies<T>, Policies>
+ >
+ , literal_bool_parser<T, no_case_bool_policies<T>, false>
+ , literal_bool_parser<T, Policies, false> >::type
+ result_type;
+
+ template <typename Terminal>
+ result_type operator()(Terminal const& term, unused_type) const
+ {
+ return result_type(fusion::at_c<0>(term.args));
+ }
+ };
+
+ template <typename T, typename Modifiers, bool b
+ , typename Policies = bool_policies<T> >
+ struct make_predefined_direct_bool
     {
- template <typename Modifiers, bool b>
- struct make_literal_bool
+ typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
+ no_case;
+
+ typedef typename mpl::if_<
+ mpl::and_<
+ no_case
+ , is_same<bool_policies<T>, Policies>
+ >
+ , literal_bool_parser<T, no_case_bool_policies<T>, false>
+ , literal_bool_parser<T, Policies, false> >::type
+ result_type;
+
+ result_type operator()(unused_type, unused_type) const
         {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> > no_case;
+ return result_type(b);
+ }
+ };
+
+
+ template <typename T, typename Modifiers
+ , typename Policies = bool_policies<T> >
+ struct make_literal_bool
+ {
+ typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
+ no_case;
 
- typedef typename mpl::if_<
+ typedef typename mpl::if_<
+ mpl::and_<
                 no_case
- , bool_parser_literal_impl<bool, no_case_bool_policies<> >
- , bool_parser_literal_impl<> >::type
- result_type;
+ , is_same<bool_policies<T>, Policies>
+ >
+ , literal_bool_parser<T, no_case_bool_policies<T> >
+ , literal_bool_parser<T, Policies> >::type
+ result_type;
 
- result_type operator()(unused_type, unused_type) const
- {
- return result_type(b);
- }
- };
- }
+ template <typename T_>
+ result_type operator()(T_ i, unused_type) const
+ {
+ return result_type(i);
+ }
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<bool, Modifiers>
+ : make_literal_bool<bool, Modifiers> {};
 
+ ///////////////////////////////////////////////////////////////////////////
     template <typename Modifiers>
     struct make_primitive<tag::false_, Modifiers>
- : detail::make_literal_bool<Modifiers, false>
+ : make_predefined_direct_bool<bool, Modifiers, false>
     {};
 
     template <typename Modifiers>
     struct make_primitive<tag::true_, Modifiers>
- : detail::make_literal_bool<Modifiers, true>
+ : make_predefined_direct_bool<bool, Modifiers, true>
     {};
 
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename T, typename Policies, typename Modifiers>
+ struct make_primitive<
+ tag::stateful_tag<Policies, tag::bool_, T>, Modifiers>
+ : make_bool<T, Modifiers, Policies> {};
+
+ template <typename T, typename Policies, typename A0, typename Modifiers>
+ struct make_primitive<
+ terminal_ex<tag::stateful_tag<Policies, tag::bool_, T>
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_bool<T, Modifiers, Policies> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::bool_, Modifiers>
+ : make_bool<bool, Modifiers> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::bool_
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_bool<bool, Modifiers> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/numeric/int.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/numeric/int.hpp (original)
+++ trunk/boost/spirit/home/qi/numeric/int.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -12,7 +12,6 @@
 #pragma once
 #endif
 
-#include <boost/type_traits/is_arithmetic.hpp>
 #include <boost/spirit/home/qi/skip_over.hpp>
 #include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
 #include <boost/spirit/home/qi/meta_compiler.hpp>
@@ -20,47 +19,122 @@
 #include <boost/spirit/home/support/common_terminals.hpp>
 #include <boost/spirit/home/support/info.hpp>
 #include <boost/mpl/assert.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
 
 namespace boost { namespace spirit
 {
+ namespace tag
+ {
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits>
+ struct int_parser {};
+ }
+
+ namespace qi
+ {
+ ///////////////////////////////////////////////////////////////////////
+ // This one is the class that the user can instantiate directly in
+ // order to create a customized int parser
+ template <typename T = int, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct int_parser
+ : spirit::terminal<tag::int_parser<T, Radix, MinDigits, MaxDigits> >
+ {};
+ }
+
     ///////////////////////////////////////////////////////////////////////////
     // Enablers
     ///////////////////////////////////////////////////////////////////////////
+ //[primitive_parsers_enable_short
+ template <> // enables short_
+ struct use_terminal<qi::domain, tag::short_> : mpl::true_ {};
+ //]
+
+ template <> // enables lit(short(n))
+ struct use_terminal<qi::domain, short> : mpl::true_ {};
+
+ template <typename A0> // enables short_(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::short_, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* short_(n)
+ struct use_lazy_terminal<qi::domain, tag::short_, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
     //[primitive_parsers_enable_int
- #define BOOST_SPIRIT_ENABLE_INTEGER(r, data, name) \
- template <> \
- struct use_terminal<qi::domain, tag::name> \
- : mpl::true_ {}; \
- \
- template <typename A0> \
- struct use_terminal<qi::domain \
- , terminal_ex<tag::name, fusion::vector1<A0> > > \
- : is_arithmetic<A0> {}; \
- \
- template <> \
- struct use_lazy_terminal<qi::domain, tag::name, 1> : mpl::true_ {}; \
- /***/
-
- #define BOOST_SPIRIT_ENABLE_INTEGERS(names) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_ENABLE_INTEGER, _, names) \
- /***/
+ template <> // enables int_
+ struct use_terminal<qi::domain, tag::int_> : mpl::true_ {};
+ //]
+
+ template <> // enables lit(int(n))
+ struct use_terminal<qi::domain, int> : mpl::true_ {};
+
+ template <typename A0> // enables int_(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::int_, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* int_(n)
+ struct use_lazy_terminal<qi::domain, tag::int_, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ //[primitive_parsers_enable_long
+ template <> // enables long_
+ struct use_terminal<qi::domain, tag::long_> : mpl::true_ {};
+ //]
+
+ template <> // enables lit(long(n))
+ struct use_terminal<qi::domain, long> : mpl::true_ {};
 
+ template <typename A0> // enables long_(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::long_, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* long_(n)
+ struct use_lazy_terminal<qi::domain, tag::long_, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
 #ifdef BOOST_HAS_LONG_LONG
- BOOST_SPIRIT_ENABLE_INTEGERS(
- (short_)
- (int_)
- (long_)
- (long_long)
- )
-#else
- BOOST_SPIRIT_ENABLE_INTEGERS(
- (short_)
- (int_)
- (long_)
- )
-#endif
+ //[primitive_parsers_enable_long_long
+ template <> // enables long_long
+ struct use_terminal<qi::domain, tag::long_long> : mpl::true_ {};
     //]
+
+ template <> // enables lit(boost::long_long_type(n))
+ struct use_terminal<qi::domain, boost::long_long_type> : mpl::true_ {};
+
+ template <typename A0> // enables long_long(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::long_long, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* long_long(n)
+ struct use_lazy_terminal<qi::domain, tag::long_long, 1> : mpl::true_ {};
+#endif
+
+ ///////////////////////////////////////////////////////////////////////////
+ // enables any custom int_parser
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits>
+ struct use_terminal<qi::domain
+ , tag::int_parser<T, Radix, MinDigits, MaxDigits> >
+ : mpl::true_ {};
+
+ // enables any custom int_parser(n)
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits, typename A0>
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::int_parser<T, Radix, MinDigits, MaxDigits>
+ , fusion::vector1<A0> >
+ > : mpl::true_ {};
+
+ // enables *lazy* custom int_parser(n)
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits>
+ struct use_lazy_terminal<qi::domain
+ , tag::int_parser<T, Radix, MinDigits, MaxDigits>, 1
+ > : mpl::true_ {};
 }}
 
 namespace boost { namespace spirit { namespace qi
@@ -76,29 +150,19 @@
     using spirit::long_long_type;
 #endif
 
+ using spirit::lit; // lit(1) is equivalent to 1
+
     ///////////////////////////////////////////////////////////////////////////
     // This is the actual int parser
     ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_int
+ //[primitive_parsers_int_parser
     template <
         typename T
       , unsigned Radix = 10
       , unsigned MinDigits = 1
- , int MaxDigits = -1
- , bool no_attribute = true
- , typename Enable = void>
- struct int_parser_impl;
-
- template <
- typename T
- , unsigned Radix
- , unsigned MinDigits
- , int MaxDigits
- , bool no_attribute
- , typename Enable>
- struct int_parser_impl
- : primitive_parser<int_parser_impl<T, Radix, MinDigits, MaxDigits
- , no_attribute, Enable> >
+ , int MaxDigits = -1>
+ struct any_int_parser
+ : primitive_parser<any_int_parser<T, Radix, MinDigits, MaxDigits> >
     {
         // check template parameter 'Radix' for validity
         BOOST_SPIRIT_ASSERT_MSG(
@@ -128,32 +192,26 @@
             return info("integer");
         }
     };
+ //]
 
- template <
- typename T
- , unsigned Radix
- , unsigned MinDigits
- , int MaxDigits>
- struct int_parser_impl<T, Radix, MinDigits, MaxDigits, false, typename
- enable_if<is_arithmetic<T> >::type>
- : primitive_parser<int_parser_impl<T, Radix, MinDigits, MaxDigits
- , false> >
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1, bool no_attribute = true>
+ struct literal_int_parser
+ : primitive_parser<literal_int_parser<T, Radix, MinDigits, MaxDigits
+ , no_attribute> >
     {
         // check template parameter 'Radix' for validity
         BOOST_SPIRIT_ASSERT_MSG(
             Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
             not_supported_radix, ());
 
- T n;
-
         template <typename Value>
- int_parser_impl(Value const& v) : n(v) { }
+ literal_int_parser(Value const& n) : n_(n) {}
 
         template <typename Context, typename Iterator>
         struct attribute
- {
- typedef unused_type type;
- };
+ : mpl::if_c<no_attribute, unused_type, T>
+ {};
 
         template <typename Iterator, typename Context
           , typename Skipper, typename Attribute>
@@ -166,7 +224,7 @@
             
             T attr_;
 
- if (extract::call(first, last, attr_) && (attr_ == n))
+ if (extract::call(first, last, attr_) && (attr_ == n_))
             {
                 traits::assign_to(attr_, attr);
                 return true;
@@ -178,25 +236,10 @@
         template <typename Context>
         info what(Context& /*context*/) const
         {
- return info("literal-integer");
+ return info("integer");
         }
- };
- //]
 
- ///////////////////////////////////////////////////////////////////////////
- // This is the class that the user can instantiate directly
- ///////////////////////////////////////////////////////////////////////////
-
- // FIXME: how can we allow user instantiated numeric parsers to be used as
- // literal numeric parsers?
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct int_parser
- : proto::terminal<int_parser_impl<T, Radix, MinDigits, MaxDigits> >::type
- {
+ T n_;
     };
 
     ///////////////////////////////////////////////////////////////////////////
@@ -210,22 +253,19 @@
       , int MaxDigits = -1>
     struct make_int
     {
- typedef int_parser_impl<T, Radix, MinDigits, MaxDigits, true>
- result_type;
+ typedef any_int_parser<T, Radix, MinDigits, MaxDigits> result_type;
         result_type operator()(unused_type, unused_type) const
         {
             return result_type();
         }
     };
+ //]
     
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_literal_int
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct make_direct_int
     {
- typedef int_parser_impl<T, Radix, MinDigits, MaxDigits, false>
+ typedef literal_int_parser<T, Radix, MinDigits, MaxDigits, false>
             result_type;
         template <typename Terminal>
         result_type operator()(Terminal const& term, unused_type) const
@@ -233,40 +273,105 @@
             return result_type(fusion::at_c<0>(term.args));
         }
     };
+
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct make_literal_int
+ {
+ typedef literal_int_parser<T, Radix, MinDigits, MaxDigits> result_type;
+ template <typename T_>
+ result_type operator()(T_ i, unused_type) const
+ {
+ return result_type(i);
+ }
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<short, Modifiers>
+ : make_literal_int<short> {};
+
+ template <typename Modifiers>
+ struct make_primitive<int, Modifiers>
+ : make_literal_int<int> {};
+
+ template <typename Modifiers>
+ struct make_primitive<long, Modifiers>
+ : make_literal_int<long> {};
+
+#ifdef BOOST_HAS_LONG_LONG
+ template <typename Modifiers>
+ struct make_primitive<boost::long_long_type, Modifiers>
+ : make_literal_int<boost::long_long_type> {};
+#endif
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
+ , typename Modifiers>
+ struct make_primitive<
+ tag::int_parser<T, Radix, MinDigits, MaxDigits>
+ , Modifiers>
+ : make_int<T, Radix, MinDigits, MaxDigits> {};
+
+ template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
+ , typename A0, typename Modifiers>
+ struct make_primitive<
+ terminal_ex<tag::int_parser<T, Radix, MinDigits, MaxDigits>
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_int<T, Radix, MinDigits, MaxDigits> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ //[primitive_parsers_short_primitive
+ template <typename Modifiers>
+ struct make_primitive<tag::short_, Modifiers>
+ : make_int<short> {};
     //]
 
- //[primitive_parsers_make_primitives
- #define BOOST_SPIRIT_MAKE_INTEGER_PRIMITIVE(r, data, elem) \
- template <typename Modifiers> \
- struct make_primitive<tag::BOOST_PP_SEQ_ELEM(0, elem), Modifiers> \
- : make_int<BOOST_PP_SEQ_ELEM(1, elem)> {}; \
- \
- template <typename Modifiers, typename A0> \
- struct make_primitive< \
- terminal_ex<tag::BOOST_PP_SEQ_ELEM(0, elem) \
- , fusion::vector1<A0> > , Modifiers> \
- : make_literal_int<BOOST_PP_SEQ_ELEM(1, elem)> {}; \
- /***/
-
- #define BOOST_SPIRIT_MAKE_INTEGER_PRIMITIVES(names) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_MAKE_INTEGER_PRIMITIVE, _, names) \
- /***/
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::short_
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_int<short> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ //[primitive_parsers_int_primitive
+ template <typename Modifiers>
+ struct make_primitive<tag::int_, Modifiers>
+ : make_int<int> {};
+ //]
 
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::int_
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_int<int> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ //[primitive_parsers_long_primitive
+ template <typename Modifiers>
+ struct make_primitive<tag::long_, Modifiers>
+ : make_int<long> {};
+ //]
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::long_
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_int<long> {};
+
+ ///////////////////////////////////////////////////////////////////////////
 #ifdef BOOST_HAS_LONG_LONG
- BOOST_SPIRIT_MAKE_INTEGER_PRIMITIVES(
- ((short_) (short))
- ((int_) (int))
- ((long_) (long))
- ((long_long) (boost::long_long_type))
- )
-#else
- BOOST_SPIRIT_MAKE_INTEGER_PRIMITIVES(
- ((short_) (short))
- ((int_) (int))
- ((long_) (long))
- )
-#endif
+ //[primitive_parsers_long_long_primitive
+ template <typename Modifiers>
+ struct make_primitive<tag::long_long, Modifiers>
+ : make_int<boost::long_long_type> {};
     //]
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::long_long
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_int<boost::long_long_type> {};
+#endif
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/numeric/real.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/numeric/real.hpp (original)
+++ trunk/boost/spirit/home/qi/numeric/real.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,5 +1,6 @@
 /*=============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2011 Bryce Lelbach
 
     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)
@@ -12,29 +13,114 @@
 #endif
 
 #include <boost/spirit/home/qi/skip_over.hpp>
+#include <boost/spirit/home/qi/meta_compiler.hpp>
+#include <boost/spirit/home/qi/parser.hpp>
 #include <boost/spirit/home/qi/numeric/real_policies.hpp>
 #include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
 #include <boost/spirit/home/qi/numeric/detail/real_impl.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
 #include <boost/spirit/home/support/common_terminals.hpp>
 
 namespace boost { namespace spirit
 {
+ namespace qi
+ {
+ ///////////////////////////////////////////////////////////////////////
+ // forward declaration only
+ template <typename T>
+ struct real_policies;
+
+ ///////////////////////////////////////////////////////////////////////
+ // This is the class that the user can instantiate directly in
+ // order to create a customized real parser
+ template <typename T = double, typename Policies = real_policies<T> >
+ struct real_parser
+ : spirit::terminal<tag::stateful_tag<Policies, tag::double_, T> >
+ {
+ typedef tag::stateful_tag<Policies, tag::double_, T> tag_type;
+
+ real_parser() {}
+ real_parser(Policies const& p)
+ : spirit::terminal<tag_type>(p) {}
+ };
+ }
+
     ///////////////////////////////////////////////////////////////////////////
     // Enablers
     ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_terminal<qi::domain, tag::float_> // enables float_
+ template <> // enables float_
+ struct use_terminal<qi::domain, tag::float_>
+ : mpl::true_ {};
+
+ template <> // enables double_
+ struct use_terminal<qi::domain, tag::double_>
+ : mpl::true_ {};
+
+ template <> // enables long_double
+ struct use_terminal<qi::domain, tag::long_double>
+ : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables lit(0.f)
+ struct use_terminal<qi::domain, float>
+ : mpl::true_ {};
+
+ template <> // enables lit(0.)
+ struct use_terminal<qi::domain, double>
+ : mpl::true_ {};
+
+ template <> // enables lit(0.l)
+ struct use_terminal<qi::domain, long double>
+ : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename A0> // enables float_(...)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::float_, fusion::vector1<A0> >
+ > : mpl::true_ {};
+
+ template <typename A0> // enables double_(...)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::double_, fusion::vector1<A0> >
+ > : mpl::true_ {};
+
+ template <typename A0> // enables long_double(...)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::long_double, fusion::vector1<A0> >
+ > : mpl::true_ {};
+
+ template <> // enables *lazy* float_(...)
+ struct use_lazy_terminal<qi::domain, tag::float_, 1>
+ : mpl::true_ {};
+
+ template <> // enables *lazy* double_(...)
+ struct use_lazy_terminal<qi::domain, tag::double_, 1>
       : mpl::true_ {};
 
- template <>
- struct use_terminal<qi::domain, tag::double_> // enables double_
+ template <> // enables *lazy* double_(...)
+ struct use_lazy_terminal<qi::domain, tag::long_double, 1>
       : mpl::true_ {};
 
- template <>
- struct use_terminal<qi::domain, tag::long_double> // enables long_double
+ ///////////////////////////////////////////////////////////////////////////
+ // enables custom real_parser
+ template <typename T, typename Policies>
+ struct use_terminal<qi::domain
+ , tag::stateful_tag<Policies, tag::double_, T> >
       : mpl::true_ {};
+
+ // enables custom real_parser(...)
+ template <typename T, typename Policies, typename A0>
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::stateful_tag<Policies, tag::double_, T>
+ , fusion::vector1<A0> > >
+ : mpl::true_ {};
+
+ // enables *lazy* custom real_parser(...)
+ template <typename T, typename Policies>
+ struct use_lazy_terminal<
+ qi::domain
+ , tag::stateful_tag<Policies, tag::double_, T>
+ , 1 // arity
+ > : mpl::true_ {};
 }}
 
 namespace boost { namespace spirit { namespace qi
@@ -46,15 +132,14 @@
     using spirit::long_double;
     using spirit::long_double_type;
 
+ using spirit::lit; // lit(1.0) is equivalent to 1.0
+
     ///////////////////////////////////////////////////////////////////////////
     // This is the actual real number parser
     ///////////////////////////////////////////////////////////////////////////
- template <
- typename T = double,
- typename RealPolicies = real_policies<T>
- >
- struct real_parser_impl
- : primitive_parser<real_parser_impl<T, RealPolicies> >
+ template <typename T, typename RealPolicies = real_policies<T> >
+ struct any_real_parser
+ : primitive_parser<any_real_parser<T, RealPolicies> >
     {
         template <typename Context, typename Iterator>
         struct attribute
@@ -67,22 +152,22 @@
           , Context& /*context*/, Skipper const& skipper
           , T& attr) const
         {
+ typedef detail::real_impl<T, RealPolicies> extract;
             qi::skip_over(first, last, skipper);
- return detail::real_impl<T, RealPolicies>::
- parse(first, last, attr, RealPolicies());
+ return extract::parse(first, last, attr, RealPolicies());
         }
 
         template <typename Iterator, typename Context
           , typename Skipper, typename Attribute>
         bool parse(Iterator& first, Iterator const& last
           , Context& context, Skipper const& skipper
- , Attribute& attr_) const
+ , Attribute& attr) const
         {
             // this case is called when Attribute is not T
- T attr;
- if (parse(first, last, context, skipper, attr))
+ T attr_;
+ if (parse(first, last, context, skipper, attr_))
             {
- traits::assign_to(attr, attr_);
+ traits::assign_to(attr_, attr);
                 return true;
             }
             return false;
@@ -91,43 +176,148 @@
         template <typename Context>
         info what(Context& /*context*/) const
         {
- return info("real-number");
+ return info("real");
         }
     };
 
- ///////////////////////////////////////////////////////////////////////////
- // This one is the class that the user can instantiate directly
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename T,
- typename RealPolicies = real_policies<T>
- >
- struct real_parser
- : proto::terminal<real_parser_impl<T, RealPolicies> >::type
+ template <typename T, typename RealPolicies = real_policies<T>
+ , bool no_attribute = true>
+ struct literal_real_parser
+ : primitive_parser<literal_real_parser<T, RealPolicies, no_attribute> >
     {
+ template <typename Value>
+ literal_real_parser(Value const& n) : n_(n) {}
+
+ template <typename Context, typename Iterator>
+ struct attribute
+ : mpl::if_c<no_attribute, unused_type, T>
+ {};
+
+ template <typename Iterator, typename Context
+ , typename Skipper, typename Attribute>
+ bool parse(Iterator& first, Iterator const& last
+ , Context& context, Skipper const& skipper
+ , Attribute& attr) const
+ {
+ typedef detail::real_impl<T, RealPolicies> extract;
+ qi::skip_over(first, last, skipper);
+
+ T attr_;
+
+ if (extract::parse(first, last, attr_, RealPolicies()) &&
+ (attr_ == n_))
+ {
+ traits::assign_to(attr_, attr);
+ return true;
+ }
+
+ return false;
+ }
+
+ template <typename Context>
+ info what(Context& /*context*/) const
+ {
+ return info("real");
+ }
+
+ T n_;
     };
 
     ///////////////////////////////////////////////////////////////////////////
     // Parser generators: make_xxx function (objects)
     ///////////////////////////////////////////////////////////////////////////
- template <typename T>
+ template <typename T, typename Policies = real_policies<T> >
     struct make_real
     {
- typedef real_parser_impl<T, real_policies<T> > result_type;
+ typedef any_real_parser<T, Policies> result_type;
+
         result_type operator()(unused_type, unused_type) const
         {
             return result_type();
         }
     };
 
+ template <typename T, typename Policies = real_policies<T> >
+ struct make_direct_real
+ {
+ typedef literal_real_parser<T, Policies, false> result_type;
+
+ template <typename Terminal>
+ result_type operator()(Terminal const& term, unused_type) const
+ {
+ return result_type(T(fusion::at_c<0>(term.args)));
+ }
+ };
+
+ template <typename T, typename Policies = real_policies<T> >
+ struct make_literal_real
+ {
+ typedef literal_real_parser<T, Policies> result_type;
+
+ template <typename T_>
+ result_type operator()(T_ i, unused_type) const
+ {
+ return result_type(T(i));
+ }
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<float, Modifiers>
+ : make_literal_real<float> {};
+
     template <typename Modifiers>
- struct make_primitive<tag::float_, Modifiers> : make_real<float> {};
+ struct make_primitive<double, Modifiers>
+ : make_literal_real<double> {};
 
     template <typename Modifiers>
- struct make_primitive<tag::double_, Modifiers> : make_real<double> {};
+ struct make_primitive<long double, Modifiers>
+ : make_literal_real<long double> {};
 
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename T, typename Policies, typename Modifiers>
+ struct make_primitive<
+ tag::stateful_tag<Policies, tag::double_, T>, Modifiers>
+ : make_real<T, Policies> {};
+
+ template <typename T, typename Policies, typename A0, typename Modifiers>
+ struct make_primitive<
+ terminal_ex<tag::stateful_tag<Policies, tag::double_, T>
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_real<T, Policies> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::float_, Modifiers>
+ : make_real<float> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::float_
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_real<float> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::double_, Modifiers>
+ : make_real<double> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::double_
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_real<double> {};
+
+ ///////////////////////////////////////////////////////////////////////////
     template <typename Modifiers>
- struct make_primitive<tag::long_double, Modifiers> : make_real<long double> {};
+ struct make_primitive<tag::long_double, Modifiers>
+ : make_real<long double> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::long_double
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_real<long double> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/numeric/uint.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/numeric/uint.hpp (original)
+++ trunk/boost/spirit/home/qi/numeric/uint.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -12,7 +12,6 @@
 #pragma once
 #endif
 
-#include <boost/type_traits/is_arithmetic.hpp>
 #include <boost/spirit/home/qi/skip_over.hpp>
 #include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
 #include <boost/spirit/home/qi/meta_compiler.hpp>
@@ -20,94 +19,177 @@
 #include <boost/spirit/home/support/common_terminals.hpp>
 #include <boost/spirit/home/support/info.hpp>
 #include <boost/mpl/assert.hpp>
-#include <boost/preprocessor/seq.hpp>
 
 namespace boost { namespace spirit
 {
+ namespace tag
+ {
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits>
+ struct uint_parser {};
+ }
+
+ namespace qi
+ {
+ ///////////////////////////////////////////////////////////////////////
+ // This one is the class that the user can instantiate directly in
+ // order to create a customized int parser
+ template <typename T = int, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct uint_parser
+ : spirit::terminal<tag::uint_parser<T, Radix, MinDigits, MaxDigits> >
+ {};
+ }
+
     ///////////////////////////////////////////////////////////////////////////
     // Enablers
     ///////////////////////////////////////////////////////////////////////////
- #define BOOST_SPIRIT_ENABLE_UINTEGER(r, data, name) \
- template <> \
- struct use_terminal<qi::domain, tag::name> \
- : mpl::true_ {}; \
- \
- template <typename A0> \
- struct use_terminal<qi::domain \
- , terminal_ex<tag::name, fusion::vector1<A0> > > \
- : is_arithmetic<A0> {}; \
- \
- template <> \
- struct use_lazy_terminal<qi::domain, tag::name, 1> : mpl::true_ {}; \
- /***/
-
- #define BOOST_SPIRIT_ENABLE_UINTEGERS(names) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_ENABLE_UINTEGER, _, names) \
- /***/
+ template <> // enables ushort_
+ struct use_terminal<qi::domain, tag::ushort_> : mpl::true_ {};
+
+ template <> // enables lit(unsigned short(n))
+ struct use_terminal<qi::domain, unsigned short> : mpl::true_ {};
+
+ template <typename A0> // enables ushort_(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::ushort_, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* ushort_(n)
+ struct use_lazy_terminal<qi::domain, tag::ushort_, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables uint_
+ struct use_terminal<qi::domain, tag::uint_> : mpl::true_ {};
 
+ template <> // enables lit(unsigned(n))
+ struct use_terminal<qi::domain, unsigned> : mpl::true_ {};
+
+ template <typename A0> // enables uint_(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::uint_, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* uint_(n)
+ struct use_lazy_terminal<qi::domain, tag::uint_, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables ulong_
+ struct use_terminal<qi::domain, tag::ulong_> : mpl::true_ {};
+
+ template <> // enables lit(unsigned long(n))
+ struct use_terminal<qi::domain, unsigned long> : mpl::true_ {};
+
+ template <typename A0> // enables ulong_(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::ulong_, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* ulong_(n)
+ struct use_lazy_terminal<qi::domain, tag::ulong_, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
 #ifdef BOOST_HAS_LONG_LONG
- BOOST_SPIRIT_ENABLE_UINTEGERS(
- (bin)
- (oct)
- (hex)
- (ushort_)
- (uint_)
- (ulong_)
- (ulong_long)
- )
-#else
- BOOST_SPIRIT_ENABLE_UINTEGERS(
- (bin)
- (oct)
- (hex)
- (ushort_)
- (uint_)
- (ulong_)
- )
+ template <> // enables ulong_long
+ struct use_terminal<qi::domain, tag::ulong_long> : mpl::true_ {};
+
+ template <> // enables lit(boost::ulong_long_type(n))
+ struct use_terminal<qi::domain, boost::ulong_long_type> : mpl::true_ {};
+
+ template <typename A0> // enables ulong_long(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::ulong_long, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* ulong_long(n)
+ struct use_lazy_terminal<qi::domain, tag::ulong_long, 1> : mpl::true_ {};
 #endif
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables bin
+ struct use_terminal<qi::domain, tag::bin> : mpl::true_ {};
+
+ template <typename A0> // enables bin(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::bin, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* bin(n)
+ struct use_lazy_terminal<qi::domain, tag::bin, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables oct
+ struct use_terminal<qi::domain, tag::oct> : mpl::true_ {};
+
+ template <typename A0> // enables oct(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::oct, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* oct(n)
+ struct use_lazy_terminal<qi::domain, tag::oct, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <> // enables hex
+ struct use_terminal<qi::domain, tag::hex> : mpl::true_ {};
+
+ template <typename A0> // enables hex(n)
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::hex, fusion::vector1<A0> > >
+ : is_arithmetic<A0> {};
+
+ template <> // enables *lazy* hex(n)
+ struct use_lazy_terminal<qi::domain, tag::hex, 1> : mpl::true_ {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ // enables any custom uint_parser
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits>
+ struct use_terminal<qi::domain
+ , tag::uint_parser<T, Radix, MinDigits, MaxDigits> >
+ : mpl::true_ {};
+
+ // enables any custom uint_parser(n)
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits, typename A0>
+ struct use_terminal<qi::domain
+ , terminal_ex<tag::uint_parser<T, Radix, MinDigits, MaxDigits>
+ , fusion::vector1<A0> >
+ > : mpl::true_ {};
+
+ // enables *lazy* custom uint_parser(n)
+ template <typename T, unsigned Radix, unsigned MinDigits
+ , int MaxDigits>
+ struct use_lazy_terminal<qi::domain
+ , tag::uint_parser<T, Radix, MinDigits, MaxDigits>, 1
+ > : mpl::true_ {};
 }}
 
 namespace boost { namespace spirit { namespace qi
 {
     using spirit::bin;
- using spirit::bin_type;
     using spirit::oct;
- using spirit::oct_type;
     using spirit::hex;
- using spirit::hex_type;
+
     using spirit::ushort_;
     using spirit::ushort__type;
- using spirit::ulong_;
- using spirit::ulong__type;
     using spirit::uint_;
     using spirit::uint__type;
+ using spirit::ulong_;
+ using spirit::ulong__type;
 #ifdef BOOST_HAS_LONG_LONG
     using spirit::ulong_long;
     using spirit::ulong_long_type;
 #endif
 
+ using spirit::lit; // lit(1) is equivalent to 1
+
     ///////////////////////////////////////////////////////////////////////////
- // This is actual unsigned int parser
+ // This is the actual uint parser
     ///////////////////////////////////////////////////////////////////////////
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1
- , bool no_attribute = true
- , typename Enable = void>
- struct uint_parser_impl;
-
- template <
- typename T
- , unsigned Radix
- , unsigned MinDigits
- , int MaxDigits
- , bool no_attribute
- , typename Enable>
- struct uint_parser_impl
- : primitive_parser<uint_parser_impl<T, Radix, MinDigits, MaxDigits
- , no_attribute, Enable> >
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct any_uint_parser
+ : primitive_parser<any_uint_parser<T, Radix, MinDigits, MaxDigits> >
     {
         // check template parameter 'Radix' for validity
         BOOST_SPIRIT_ASSERT_MSG(
@@ -137,32 +219,26 @@
             return info("unsigned-integer");
         }
     };
+ //]
 
- template <
- typename T
- , unsigned Radix
- , unsigned MinDigits
- , int MaxDigits>
- struct uint_parser_impl<T, Radix, MinDigits, MaxDigits, false, typename
- enable_if<is_arithmetic<T> >::type>
- : primitive_parser<uint_parser_impl<T, Radix, MinDigits, MaxDigits
- , false> >
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1, bool no_attribute = true>
+ struct literal_uint_parser
+ : primitive_parser<literal_uint_parser<T, Radix, MinDigits, MaxDigits
+ , no_attribute> >
     {
         // check template parameter 'Radix' for validity
         BOOST_SPIRIT_ASSERT_MSG(
             Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
             not_supported_radix, ());
 
- T n;
-
         template <typename Value>
- uint_parser_impl(Value const& v) : n(v) { }
+ literal_uint_parser(Value const& n) : n_(n) {}
 
         template <typename Context, typename Iterator>
         struct attribute
- {
- typedef unused_type type;
- };
+ : mpl::if_c<no_attribute, unused_type, T>
+ {};
 
         template <typename Iterator, typename Context
           , typename Skipper, typename Attribute>
@@ -175,7 +251,7 @@
             
             T attr_;
 
- if (extract::call(first, last, attr_) && (attr_ == n))
+ if (extract::call(first, last, attr_) && (attr_ == n_))
             {
                 traits::assign_to(attr_, attr);
                 return true;
@@ -187,52 +263,31 @@
         template <typename Context>
         info what(Context& /*context*/) const
         {
- return info("literal-unsigned-integer");
+ return info("unsigned-integer");
         }
- };
 
- ///////////////////////////////////////////////////////////////////////////
- // This is the class that the user can instantiate directly
- ///////////////////////////////////////////////////////////////////////////
-
- // FIXME: how can we allow user instantiated numeric parsers to be used as
- // literal numeric parsers?
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct uint_parser
- : proto::terminal<uint_parser_impl<T, Radix, MinDigits, MaxDigits> >::type
- {
+ T n_;
     };
 
     ///////////////////////////////////////////////////////////////////////////
     // Parser generators: make_xxx function (objects)
     ///////////////////////////////////////////////////////////////////////////
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
     struct make_uint
     {
- typedef uint_parser_impl<T, Radix, MinDigits, MaxDigits, true>
- result_type;
+ typedef any_uint_parser<T, Radix, MinDigits, MaxDigits> result_type;
         result_type operator()(unused_type, unused_type) const
         {
             return result_type();
         }
     };
     
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_literal_uint
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct make_direct_uint
     {
- typedef uint_parser_impl<T, Radix, MinDigits, MaxDigits, false>
+ typedef literal_uint_parser<T, Radix, MinDigits, MaxDigits, false>
             result_type;
         template <typename Terminal>
         result_type operator()(Terminal const& term, unused_type) const
@@ -241,43 +296,128 @@
         }
     };
     
- #define BOOST_SPIRIT_MAKE_UINTEGER_PRIMITIVE(r, data, elem) \
- template <typename Modifiers> \
- struct make_primitive<tag::BOOST_PP_SEQ_ELEM(0, elem), Modifiers> \
- : make_uint<BOOST_PP_SEQ_ELEM(1, elem) \
- , BOOST_PP_SEQ_ELEM(2, elem)> {}; \
- \
- template <typename Modifiers, typename A0> \
- struct make_primitive< \
- terminal_ex<tag::BOOST_PP_SEQ_ELEM(0, elem) \
- , fusion::vector1<A0> > , Modifiers> \
- : make_literal_uint<BOOST_PP_SEQ_ELEM(1, elem) \
- , BOOST_PP_SEQ_ELEM(2, elem)> {}; \
- /***/
-
- #define BOOST_SPIRIT_MAKE_UINTEGER_PRIMITIVES(names) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_MAKE_UINTEGER_PRIMITIVE, _, names) \
- /***/
+ template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
+ , int MaxDigits = -1>
+ struct make_literal_uint
+ {
+ typedef literal_uint_parser<T, Radix, MinDigits, MaxDigits> result_type;
+ template <typename T_>
+ result_type operator()(T_ i, unused_type) const
+ {
+ return result_type(i);
+ }
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<unsigned short, Modifiers>
+ : make_literal_uint<unsigned short> {};
+
+ template <typename Modifiers>
+ struct make_primitive<unsigned, Modifiers>
+ : make_literal_uint<unsigned> {};
+
+ template <typename Modifiers>
+ struct make_primitive<unsigned long, Modifiers>
+ : make_literal_uint<unsigned long> {};
+
+#ifdef BOOST_HAS_LONG_LONG
+ template <typename Modifiers>
+ struct make_primitive<boost::ulong_long_type, Modifiers>
+ : make_literal_uint<boost::ulong_long_type> {};
+#endif
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
+ , typename Modifiers>
+ struct make_primitive<
+ tag::uint_parser<T, Radix, MinDigits, MaxDigits>
+ , Modifiers>
+ : make_uint<T, Radix, MinDigits, MaxDigits> {};
+
+ template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
+ , typename A0, typename Modifiers>
+ struct make_primitive<
+ terminal_ex<tag::uint_parser<T, Radix, MinDigits, MaxDigits>
+ , fusion::vector1<A0> >, Modifiers>
+ : make_direct_uint<T, Radix, MinDigits, MaxDigits> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::bin, Modifiers>
+ : make_uint<unsigned, 2> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::bin
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<unsigned, 2> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::oct, Modifiers>
+ : make_uint<unsigned, 8> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::oct
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<unsigned, 8> {};
 
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::hex, Modifiers>
+ : make_uint<unsigned, 16> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::hex
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<unsigned, 16> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::ushort_, Modifiers>
+ : make_uint<unsigned short> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::ushort_
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<unsigned short> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::uint_, Modifiers>
+ : make_uint<unsigned> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::uint_
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<unsigned> {};
+
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Modifiers>
+ struct make_primitive<tag::ulong_, Modifiers>
+ : make_uint<unsigned long> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::ulong_
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<unsigned long> {};
+
+ ///////////////////////////////////////////////////////////////////////////
 #ifdef BOOST_HAS_LONG_LONG
- BOOST_SPIRIT_MAKE_UINTEGER_PRIMITIVES(
- ((bin) (unsigned) (2))
- ((oct) (unsigned) (8))
- ((hex) (unsigned) (16))
- ((ushort_) (unsigned short) (10))
- ((uint_) (unsigned int) (10))
- ((ulong_) (unsigned long) (10))
- ((ulong_long) (boost::ulong_long_type) (10))
- )
-#else
- BOOST_SPIRIT_MAKE_UINTEGER_PRIMITIVES(
- ((bin) (unsigned) (2))
- ((oct) (unsigned) (8))
- ((hex) (unsigned) (16))
- ((ushort_) (unsigned short) (10))
- ((uint_) (unsigned int) (10))
- ((ulong_) (unsigned long) (10))
- )
+ template <typename Modifiers>
+ struct make_primitive<tag::ulong_long, Modifiers>
+ : make_uint<boost::ulong_long_type> {};
+
+ template <typename Modifiers, typename A0>
+ struct make_primitive<
+ terminal_ex<tag::ulong_long
+ , fusion::vector1<A0> > , Modifiers>
+ : make_direct_uint<boost::ulong_long_type> {};
 #endif
 }}}
 

Modified: trunk/boost/spirit/home/qi/operator/alternative.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/alternative.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/alternative.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -107,9 +107,11 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<qi::alternative<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::alternative<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/and_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/and_predicate.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/and_predicate.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -82,9 +82,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::and_predicate<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::and_predicate<Subject>, Attribute, Context
+ , Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/difference.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/difference.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/difference.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -102,9 +102,11 @@
       : binary_has_semantic_action<Left, Right> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right, typename Attribute>
- struct handles_container<qi::difference<Left, Right>, Attribute>
- : binary_handles_container<Left, Right, Attribute> {};
+ template <typename Left, typename Right, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::difference<Left, Right>, Attribute, Context
+ , Iterator>
+ : binary_handles_container<Left, Right, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/expect.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/expect.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/expect.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -92,9 +92,11 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<qi::expect<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::expect<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/kleene.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/kleene.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/kleene.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -119,9 +119,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::kleene<Subject>, Attribute>
- : mpl::true_ {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::kleene<Subject>, Attribute
+ , Context, Iterator>
+ : mpl::true_ {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/list.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/list.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/list.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -116,8 +116,10 @@
       : binary_has_semantic_action<Left, Right> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right, typename Attribute>
- struct handles_container<qi::list<Left, Right>, Attribute>
+ template <typename Left, typename Right, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::list<Left, Right>, Attribute, Context
+ , Iterator>
       : mpl::true_ {};
 }}}
 

Modified: trunk/boost/spirit/home/qi/operator/not_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/not_predicate.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/not_predicate.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -81,9 +81,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::not_predicate<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::not_predicate<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/optional.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/optional.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/optional.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -99,9 +99,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::optional<Subject>, Attribute>
- : unary_handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::optional<Subject>, Attribute
+ , Context, Iterator>
+ : unary_handles_container<Subject, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/permutation.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/permutation.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/permutation.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -135,9 +135,11 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<qi::permutation<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::permutation<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/plus.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/plus.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/plus.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -113,9 +113,11 @@
       : unary_has_semantic_action<Subject> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::plus<Subject>, Attribute>
- : mpl::true_ {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::plus<Subject>, Attribute, Context
+ , Iterator>
+ : mpl::true_ {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/sequence.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/sequence.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/sequence.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -85,9 +85,11 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<qi::sequence<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::sequence<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/operator/sequence_base.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/sequence_base.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/sequence_base.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -20,7 +20,6 @@
 #include <boost/spirit/home/support/info.hpp>
 #include <boost/spirit/home/support/sequence_base_id.hpp>
 #include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
 #include <boost/spirit/home/qi/parser.hpp>
 #include <boost/fusion/include/as_vector.hpp>
 #include <boost/fusion/include/vector.hpp>

Modified: trunk/boost/spirit/home/qi/operator/sequential_or.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/sequential_or.hpp (original)
+++ trunk/boost/spirit/home/qi/operator/sequential_or.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -115,9 +115,11 @@
       : nary_has_semantic_action<Elements> {};
 
     ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute>
- struct handles_container<qi::sequential_or<Elements>, Attribute>
- : nary_handles_container<Elements, Attribute> {};
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::sequential_or<Elements>, Attribute, Context
+ , Iterator>
+ : nary_handles_container<Elements, Attribute, Context, Iterator> {};
 }}}
 
 #endif

Modified: trunk/boost/spirit/home/qi/reference.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/reference.hpp (original)
+++ trunk/boost/spirit/home/qi/reference.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -57,9 +57,12 @@
 namespace boost { namespace spirit { namespace traits
 {
     ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute>
- struct handles_container<qi::reference<Subject>, Attribute>
- : handles_container<typename remove_const<Subject>::type, Attribute>
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct handles_container<qi::reference<Subject>, Attribute, Context
+ , Iterator>
+ : handles_container<typename remove_const<Subject>::type
+ , Attribute, Context, Iterator>
     {};
 }}}
 

Modified: trunk/boost/spirit/home/qi/string/lit.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/string/lit.hpp (original)
+++ trunk/boost/spirit/home/qi/string/lit.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -243,14 +243,16 @@
 namespace boost { namespace spirit { namespace traits
 {
     ///////////////////////////////////////////////////////////////////////////
- template <typename String, bool no_attribute, typename Attribute>
- struct handles_container<
- qi::literal_string<String, no_attribute>, Attribute>
+ template <typename String, bool no_attribute, typename Attribute
+ ,typename Context, typename Iterator>
+ struct handles_container<qi::literal_string<String, no_attribute>
+ , Attribute, Context, Iterator>
       : mpl::true_ {};
 
- template <typename String, bool no_attribute, typename Attribute>
- struct handles_container<
- qi::no_case_literal_string<String, no_attribute>, Attribute>
+ template <typename String, bool no_attribute, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::no_case_literal_string<String, no_attribute>
+ , Attribute, Context, Iterator>
       : mpl::true_ {};
 }}}
 

Modified: trunk/boost/spirit/home/support/attributes_fwd.hpp
==============================================================================
--- trunk/boost/spirit/home/support/attributes_fwd.hpp (original)
+++ trunk/boost/spirit/home/support/attributes_fwd.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -171,8 +171,8 @@
     struct is_container;
 
     ///////////////////////////////////////////////////////////////////////////
- // Karma only
- template <typename T, typename Attribute, typename Enable = void>
+ template <typename T, typename Attribute, typename Context = unused_type
+ , typename Iterator = unused_type, typename Enable = void>
     struct handles_container;
 
     ///////////////////////////////////////////////////////////////////////////

Modified: trunk/boost/spirit/home/support/handles_container.hpp
==============================================================================
--- trunk/boost/spirit/home/support/handles_container.hpp (original)
+++ trunk/boost/spirit/home/support/handles_container.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -20,28 +20,33 @@
 
 namespace boost { namespace spirit { namespace traits
 {
- // Finding out, whether a component handles container attributes
- // intrinsically (or whether container attributes need to be split up
- // separately). This customization point is used by karma sequences.
- template <typename T, typename Attribute, typename Enable>
+ // Finds out whether a component handles container attributes intrinsically
+ // (or whether container attributes need to be split up separately).
+ template <typename T, typename Attribute, typename Context
+ , typename Iterator, typename Enable>
     struct handles_container : mpl::false_ {};
 
- template <typename Subject, typename Attribute>
- struct unary_handles_container : handles_container<Subject, Attribute> {};
+ template <typename Subject, typename Attribute, typename Context
+ , typename Iterator>
+ struct unary_handles_container
+ : handles_container<Subject, Attribute, Context, Iterator> {};
 
- template <typename Left, typename Right, typename Attribute>
+ template <typename Left, typename Right, typename Attribute
+ , typename Context, typename Iterator>
     struct binary_handles_container
       : mpl::or_<
- handles_container<Left, Attribute>
- , handles_container<Right, Attribute> >
+ handles_container<Left, Attribute, Context, Iterator>
+ , handles_container<Right, Attribute, Context, Iterator> >
     {};
 
- template <typename Elements, typename Attribute>
+ template <typename Elements, typename Attribute, typename Context
+ , typename Iterator>
     struct nary_handles_container
       : mpl::not_<
             is_same<
                 typename mpl::find_if<
- Elements, handles_container<mpl::_, Attribute>
+ Elements, handles_container<mpl::_, Attribute
+ , Context, Iterator>
>::type
               , typename mpl::end<Elements>::type> >
     {};

Modified: trunk/boost/spirit/home/support/utree/utree_traits.hpp
==============================================================================
--- trunk/boost/spirit/home/support/utree/utree_traits.hpp (original)
+++ trunk/boost/spirit/home/support/utree/utree_traits.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -494,40 +494,42 @@
     }
 
     template <
- typename Iterator, typename T1, typename T2, typename T3
- , typename T4>
- struct handles_container<qi::rule<Iterator, T1, T2, T3, T4>, utree>
+ typename IteratorA, typename IteratorB, typename Context
+ , typename T1, typename T2, typename T3, typename T4>
+ struct handles_container<qi::rule<IteratorA, T1, T2, T3, T4>
+ , utree, Context, IteratorB>
       : detail::attribute_is_not_utree_list<typename attribute_of<
- qi::rule<Iterator, T1, T2, T3, T4>
+ qi::rule<IteratorA, T1, T2, T3, T4>, Context, IteratorB
>::type>
     {};
-
+
     template <
- typename Iterator, typename T1, typename T2, typename T3
- , typename T4>
- struct handles_container<qi::grammar<Iterator, T1, T2, T3, T4>, utree>
+ typename IteratorA, typename IteratorB, typename Context
+ , typename T1, typename T2, typename T3, typename T4>
+ struct handles_container<qi::grammar<IteratorA, T1, T2, T3, T4>
+ , utree, Context, IteratorB>
       : detail::attribute_is_not_utree_list<typename attribute_of<
- qi::grammar<Iterator, T1, T2, T3, T4>
+ qi::grammar<IteratorA, T1, T2, T3, T4>, Context, IteratorB
>::type>
     {};
-
+
     template <
- typename OutputIterator, typename T1, typename T2, typename T3
- , typename T4>
- struct handles_container<
- karma::rule<OutputIterator, T1, T2, T3, T4>, utree>
+ typename IteratorA, typename IteratorB, typename Context
+ , typename T1, typename T2, typename T3, typename T4>
+ struct handles_container<karma::rule<IteratorA, T1, T2, T3, T4>
+ , utree, Context, IteratorB>
       : detail::attribute_is_not_utree<typename attribute_of<
- karma::rule<OutputIterator, T1, T2, T3, T4>
+ karma::rule<IteratorA, T1, T2, T3, T4>, Context, IteratorB
>::type>
     {};
 
     template <
- typename OutputIterator, typename T1, typename T2, typename T3
- , typename T4>
- struct handles_container<
- karma::grammar<OutputIterator, T1, T2, T3, T4>, utree>
+ typename IteratorA, typename IteratorB, typename Context
+ , typename T1, typename T2, typename T3, typename T4>
+ struct handles_container<karma::grammar<IteratorA, T1, T2, T3, T4>
+ , utree, Context, IteratorB>
       : detail::attribute_is_not_utree<typename attribute_of<
- karma::grammar<OutputIterator, T1, T2, T3, T4>
+ karma::grammar<IteratorA, T1, T2, T3, T4>, Context, IteratorB
>::type>
     {};
    

Modified: trunk/libs/spirit/doc/Jamfile
==============================================================================
--- trunk/libs/spirit/doc/Jamfile (original)
+++ trunk/libs/spirit/doc/Jamfile 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -11,7 +11,25 @@
 
 import boostbook ;
 import quickbook ;
-#import auto-index ;
+import modules ;
+
+if --enable-index in [ modules.peek : ARGV ]
+{
+ ECHO "Building the Spirit docs with automatic index generation enabled." ;
+ using auto-index ;
+ project : requirements
+ <quickbook-define>__use_auto_index__
+ <auto-index>on
+ <auto-index-script>index.idx
+ <format>pdf:<auto-index-internal>off
+ <format>html:<auto-index-internal>on
+ <xsl:param>index.on.type=1
+ ;
+}
+else
+{
+ ECHO "Building the Spirit docs with automatic index generation disabled. Try building with --enable-index." ;
+}
 
 path-constant images_location : html ;
 
@@ -32,12 +50,5 @@
         <format>pdf:<xsl:param>draft.mode="no"
         <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/spirit/doc/html
 
- # settings specific to auto_index
- #<quickbook-define>__use_auto_index__
- #<auto-index>on
- #<auto-index-script>index.idx
- #<format>pdf:<auto-index-internal>off
- #<format>html:<auto-index-internal>on
- #<xsl:param>index.on.type=1
     ;
 

Modified: trunk/libs/spirit/doc/advanced/indepth.qbk
==============================================================================
--- trunk/libs/spirit/doc/advanced/indepth.qbk (original)
+++ trunk/libs/spirit/doc/advanced/indepth.qbk 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -84,15 +84,15 @@
 [/------------------------------------------------------------------------------]
 [heading Primitive Parsers]
 
-For our dissection study, we will use a __spirit__ primitive, the `int_parser`
+For our dissection study, we will use a __spirit__ primitive, the `any_int_parser`
 in the boost::spirit::qi namespace.
 
 [import ../../../../boost/spirit/home/qi/numeric/int.hpp]
-[primitive_parsers_int]
+[primitive_parsers_any_int_parser]
 
-The `int_parser` is derived from a `__primitive_parser_concept__<Derived>`, which
-in turn derives from `parser<Derived>`. Therefore, it supports the following
-requirements:
+The `any_int_parser` is derived from a `__primitive_parser_concept__<Derived>`,
+which in turn derives from `parser<Derived>`. Therefore, it supports the
+following requirements:
 
 * The `parse` member function
 * The `what` member function
@@ -117,12 +117,16 @@
 The /what/ function just tells us that it is an integer parser. Simple.
 
 The /attribute/ metafunction returns the T template parameter. We associate the
-`int_parser` to some placeholders for `short_`, `int_`, `long_` and `long_long`
-types. But, first, we enable these placeholders in namespace boost::spirit:
+`any_int_parser` to some placeholders for `short_`, `int_`, `long_` and
+`long_long` types. But, first, we enable these placeholders in namespace
+boost::spirit:
 
+[primitive_parsers_enable_short]
 [primitive_parsers_enable_int]
+[primitive_parsers_enable_long]
+[primitive_parsers_enable_long_long]
 
-Notice that `int_parser` is placed in the namespace boost::spirit::qi
+Notice that `any_int_parser` is placed in the namespace boost::spirit::qi
 while these /enablers/ are in namespace boost::spirit. The reason is
 that these placeholders are shared by other __spirit__ /domains/. __qi__,
 the parser is one domain. __karma__, the generator is another domain.
@@ -148,7 +152,10 @@
 
 Now:
 
-[primitive_parsers_make_primitives]
+[primitive_parsers_short_primitive]
+[primitive_parsers_int_primitive]
+[primitive_parsers_long_primitive]
+[primitive_parsers_long_long_primitive]
 
 These, specialize `qi:make_primitive` for specific tags. They all
 inherit from `make_int` which does the actual work.

Modified: trunk/libs/spirit/doc/html/index.html
==============================================================================
--- trunk/libs/spirit/doc/html/index.html (original)
+++ trunk/libs/spirit/doc/html/index.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -33,7 +33,7 @@
 </div></div>
 <div><p class="copyright">Copyright &#169; 2001-2010 Joel de Guzman, Hartmut Kaiser</p></div>
 <div><div class="legalnotice">
-<a name="id645630"></a><p>
+<a name="id673117"></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>
@@ -128,6 +128,7 @@
 <dt><span class="section">Stream Parsers</span></dt>
 <dt><span class="section">String Parsers</span></dt>
 </dl></dd>
+<dt><span class="section">Qi Index</span></dt>
 </dl></dd>
 <dt><span class="section">Karma - Writing Generators</span></dt>
 <dd><dl>
@@ -183,6 +184,7 @@
 <dt><span class="section">Performance Measurements</span></dt>
 <dd><dl><dt><span class="section"><a href="spirit/karma/performance_measurements/numeric_performance.html">Performance
         of Numeric Generators</a></span></dt></dl></dd>
+<dt><span class="section">Karma Index</span></dt>
 </dl></dd>
 <dt><span class="section">Lex - Writing Lexical Analyzers</span></dt>
 <dd><dl>
@@ -240,7 +242,7 @@
 <dt><span class="section"><a href="spirit/advanced/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="spirit/advanced/customize/handles_container.html">Determine
- Whether a Component Handles Container Attributes (Karma)</a></span></dt>
+ Whether a Component Handles Container Attributes (Qi and Karma)</a></span></dt>
 <dt><span class="section"><a href="spirit/advanced/customize/transform.html">Transform an Attribute
         to a Different Type (Qi and Karma)</a></span></dt>
 <dt><span class="section"><a href="spirit/advanced/customize/assign_to.html">Store a Parsed
@@ -281,7 +283,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: December 29, 2010 at 21:46:08 GMT</small></p></td>
+<td align="left"><p><small>Last revised: January 01, 2011 at 22:06:17 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -130,7 +130,7 @@
           Compound Attribute Rules</a>.
         </p>
 <a name="spirit.abstracts.attributes.compound_attributes.the_attribute_of_sequence_parsers_and_generators"></a><h6>
-<a name="id697867"></a>
+<a name="id725373"></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>
         </h6>
@@ -246,7 +246,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.abstracts.attributes.compound_attributes.the_attribute_of_alternative_parsers_and_generators"></a><h6>
-<a name="id698964"></a>
+<a name="id726470"></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>
         </h6>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
       Expression Grammar</a>
 </h3></div></div></div>
 <p>
- Parsing Expression Grammars (PEG) <sup>[<a name="id695950" href="#ftn.id695950" class="footnote">6</a>]</sup> are a derivative of Extended Backus-Naur Form (EBNF) <sup>[<a name="id695964" href="#ftn.id695964" class="footnote">7</a>]</sup> with a different interpretation, designed to represent a recursive
+ Parsing Expression Grammars (PEG) <sup>[<a name="id723451" href="#ftn.id723451" class="footnote">6</a>]</sup> are a derivative of Extended Backus-Naur Form (EBNF) <sup>[<a name="id723466" href="#ftn.id723466" class="footnote">7</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>
@@ -39,7 +39,7 @@
         Abstract Syntax Tree) for each PEG grammar.
       </p>
 <a name="spirit.abstracts.parsing_expression_grammar.sequences"></a><h5>
-<a name="id695993"></a>
+<a name="id723494"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.sequences">Sequences</a>
       </h5>
 <p>
@@ -75,7 +75,7 @@
         </p></td></tr>
 </table></div>
 <a name="spirit.abstracts.parsing_expression_grammar.alternatives"></a><h5>
-<a name="id696151"></a>
+<a name="id723652"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.alternatives">Alternatives</a>
       </h5>
 <p>
@@ -112,7 +112,7 @@
         is valid. As noted, there can only be one valid parse tree.
       </p>
 <a name="spirit.abstracts.parsing_expression_grammar.loops"></a><h5>
-<a name="id696330"></a>
+<a name="id723831"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.loops">Loops</a>
       </h5>
 <p>
@@ -163,7 +163,7 @@
         We will see more of these other mechanisms shortly.
       </p>
 <a name="spirit.abstracts.parsing_expression_grammar.difference"></a><h5>
-<a name="id696498"></a>
+<a name="id724004"></a>
         <a class="link" href="parsing_expression_grammar.html#spirit.abstracts.parsing_expression_grammar.difference">Difference</a>
       </h5>
 <p>
@@ -189,11 +189,11 @@
 </table></div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id695950" href="#id695950" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id723451" href="#id723451" class="para">6</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.id695964" href="#id695964" class="para">7</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id723466" href="#id723466" class="para">7</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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,9 +28,9 @@
 </h3></div></div></div>
 <p>
         In the next section, we will deal with Parsing Expression Grammars (PEG)
- <sup>[<a name="id695507" href="#ftn.id695507" class="footnote">3</a>]</sup>, a variant of Extended Backus-Naur Form (EBNF) <sup>[<a name="id695521" href="#ftn.id695521" class="footnote">4</a>]</sup> with a different interpretation. It is easier to understand PEG
+ <sup>[<a name="id723008" href="#ftn.id723008" class="footnote">3</a>]</sup>, a variant of Extended Backus-Naur Form (EBNF) <sup>[<a name="id723023" href="#ftn.id723023" class="footnote">4</a>]</sup> with a different interpretation. It is easier to understand PEG
         using Syntax Diagrams. Syntax diagrams represent a grammar graphically. It
- was used extensively by Niklaus Wirth <sup>[<a name="id695536" href="#ftn.id695536" class="footnote">5</a>]</sup> in the "Pascal User Manual". Syntax Diagrams are easily
+ was used extensively by Niklaus Wirth <sup>[<a name="id723038" href="#ftn.id723038" class="footnote">5</a>]</sup> in the "Pascal User Manual". Syntax Diagrams are easily
         understandable by programmers due to their similarity to flow charts. The
         isomorphism of the diagrams and functions make them ideal for representing
         Recursive Descent parsers which are essentially mutually recursive functions.
@@ -43,7 +43,7 @@
         parsers and to <span class="emphasis"><em>Spirit.Karma</em></span> generators.
       </p>
 <a name="spirit.abstracts.syntax_diagram.elements"></a><h5>
-<a name="id695572"></a>
+<a name="id723074"></a>
         <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.elements">Elements</a>
       </h5>
 <p>
@@ -69,7 +69,7 @@
           <span class="inlinemediaobject"><img src="../.././images/non-terminal.png" alt="non-terminal"></span>
         </p></blockquote></div>
 <a name="spirit.abstracts.syntax_diagram.constructs"></a><h5>
-<a name="id695668"></a>
+<a name="id723169"></a>
         <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.constructs">Constructs</a>
       </h5>
 <p>
@@ -110,7 +110,7 @@
         This behavior is quite obvious with syntax diagrams as they resemble flow-charts.
       </p>
 <a name="spirit.abstracts.syntax_diagram.predicates"></a><h5>
-<a name="id695818"></a>
+<a name="id723320"></a>
         <a class="link" href="syntax_diagram.html#spirit.abstracts.syntax_diagram.predicates">Predicates</a>
       </h5>
 <p>
@@ -147,14 +147,14 @@
       </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id695507" href="#id695507" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id723008" href="#id723008" class="para">3</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.id695521" href="#id695521" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id723023" href="#id723023" class="para">4</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.id695536" href="#id695536" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id723038" href="#id723038" class="para">5</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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -122,7 +122,7 @@
       if not, kick Joao :-)
     </p>
 <a name="spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation"></a><h4>
-<a name="id1076812"></a>
+<a name="id1115660"></a>
       <a class="link" href="acknowledgments.html#spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation">Acknowledgements
       from the Spirit V1 <span class="emphasis"><em>classic</em></span> Documentation</a>
     </h4>

Modified: trunk/libs/spirit/doc/html/spirit/advanced.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -36,7 +36,7 @@
 <dt><span class="section"><a href="advanced/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="advanced/customize/handles_container.html">Determine
- Whether a Component Handles Container Attributes (Karma)</a></span></dt>
+ Whether a Component Handles Container Attributes (Qi and Karma)</a></span></dt>
 <dt><span class="section"><a href="advanced/customize/transform.html">Transform an Attribute
         to a Different Type (Qi and Karma)</a></span></dt>
 <dt><span class="section"><a href="advanced/customize/assign_to.html">Store a Parsed

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -31,7 +31,7 @@
 <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/handles_container.html">Determine
- Whether a Component Handles Container Attributes (Karma)</a></span></dt>
+ Whether a Component Handles Container Attributes (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
@@ -48,7 +48,7 @@
         Attributes</a></span></dt>
 </dl></div>
 <a name="spirit.advanced.customize.why_do_we_need_attribute_customization_points"></a><h5>
-<a name="id1017027"></a>
+<a name="id1054431"></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>
       </h5>
@@ -133,7 +133,7 @@
         a description which needs to be specialized for what purpose.
       </p>
 <a name="spirit.advanced.customize.the_usage_of_customization_points"></a><h5>
-<a name="id1017432"></a>
+<a name="id1054836"></a>
         <a class="link" href="customize.html#spirit.advanced.customize.the_usage_of_customization_points">The
         Usage of Customization Points</a>
       </h5>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           an Attribute after a Parser Produced a Pair of Iterators (Qi)</a>
 </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="id1022943"></a>
+<a name="id1061782"></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>
@@ -41,7 +41,7 @@
             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="id1022987"></a>
+<a name="id1061826"></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>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.namespace"></a><h6>
-<a name="id1023107"></a>
+<a name="id1061946"></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">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.synopsis"></a><h6>
-<a name="id1023191"></a>
+<a name="id1062031"></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>
@@ -89,7 +89,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.template_parameters"></a><h6>
-<a name="id1023394"></a>
+<a name="id1062233"></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>
@@ -176,7 +176,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.notation"></a><h6>
-<a name="id1023639"></a>
+<a name="id1062478"></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">
@@ -203,7 +203,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.expression_semantics"></a><h6>
-<a name="id1023787"></a>
+<a name="id1062626"></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>
@@ -243,7 +243,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.predefined_specializations"></a><h6>
-<a name="id1023963"></a>
+<a name="id1062803"></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>
@@ -294,7 +294,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.when_to_implement"></a><h6>
-<a name="id1024138"></a>
+<a name="id1062978"></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>
@@ -306,7 +306,7 @@
             from the pair of iterators.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_iterators.example"></a><h6>
-<a name="id1024185"></a>
+<a name="id1063026"></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>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           an Attribute Value after a Parser Produced a Value (Qi)</a>
 </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="id1024229"></a>
+<a name="id1063070"></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>
@@ -41,7 +41,7 @@
             is the attribute type).
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.module_headers"></a><h6>
-<a name="id1024328"></a>
+<a name="id1063170"></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>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.namespace"></a><h6>
-<a name="id1024449"></a>
+<a name="id1063291"></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">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.synopsis"></a><h6>
-<a name="id1024535"></a>
+<a name="id1063376"></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>
@@ -89,7 +89,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.template_parameters"></a><h6>
-<a name="id1024708"></a>
+<a name="id1063550"></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>
@@ -178,7 +178,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.notation"></a><h6>
-<a name="id1025002"></a>
+<a name="id1063843"></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">
@@ -205,7 +205,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.expression_semantics"></a><h6>
-<a name="id1025186"></a>
+<a name="id1064027"></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>
@@ -244,7 +244,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.predefined_specializations"></a><h6>
-<a name="id1025342"></a>
+<a name="id1064183"></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>
@@ -295,7 +295,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.when_to_implement"></a><h6>
-<a name="id1025490"></a>
+<a name="id1064332"></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>
@@ -307,7 +307,7 @@
             constructible.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_attribute_from_value.example"></a><h6>
-<a name="id1025538"></a>
+<a name="id1064380"></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>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/assign_to/assign_to_container_from_value.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           an Attribute Value into a Container after a Parser Produced a Value (Qi)</a>
 </h5></div></div></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.assign_to_container_from_value"></a><h6>
-<a name="id1025581"></a>
+<a name="id1064423"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.assign_to_container_from_value">assign_to_container_from_value</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             is the attribute type).
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.module_headers"></a><h6>
-<a name="id1025680"></a>
+<a name="id1064522"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.module_headers">Module
             Headers</a>
           </h6>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.namespace"></a><h6>
-<a name="id1025801"></a>
+<a name="id1064642"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.synopsis"></a><h6>
-<a name="id1025887"></a>
+<a name="id1064728"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_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>
@@ -89,7 +89,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.template_parameters"></a><h6>
-<a name="id1026061"></a>
+<a name="id1064902"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.template_parameters">Template
             parameters</a>
           </h6>
@@ -178,7 +178,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.notation"></a><h6>
-<a name="id1026356"></a>
+<a name="id1065197"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -206,7 +206,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.expression_semantics"></a><h6>
-<a name="id1026540"></a>
+<a name="id1065381"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -245,7 +245,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.predefined_specializations"></a><h6>
-<a name="id1026695"></a>
+<a name="id1065536"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -296,7 +296,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.when_to_implement"></a><h6>
-<a name="id1026843"></a>
+<a name="id1065685"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.when_to_implement">When
             to implement</a>
           </h6>
@@ -308,7 +308,7 @@
             constructible.
           </p>
 <a name="spirit.advanced.customize.assign_to.assign_to_container_from_value.example"></a><h6>
-<a name="id1026890"></a>
+<a name="id1065732"></a>
             <a class="link" href="assign_to_container_from_value.html#spirit.advanced.customize.assign_to.assign_to_container_from_value.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_generator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           a Custom Attribute Mapping for a Generator</a>
 </h5></div></div></div>
 <a name="spirit.advanced.customize.auto.create_generator.create_generator"></a><h6>
-<a name="id1052793"></a>
+<a name="id1091636"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.create_generator">create_generator</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
             given data type is encountered.
           </p>
 <a name="spirit.advanced.customize.auto.create_generator.module_headers"></a><h6>
-<a name="id1052864"></a>
+<a name="id1091707"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.module_headers">Module
             Headers</a>
           </h6>
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.advanced.customize.auto.create_generator.namespace"></a><h6>
-<a name="id1052963"></a>
+<a name="id1091806"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -68,7 +68,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_generator.synopsis"></a><h6>
-<a name="id1053048"></a>
+<a name="id1091891"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.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">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
@@ -79,7 +79,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.auto.create_generator.template_parameters"></a><h6>
-<a name="id1053202"></a>
+<a name="id1092045"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.template_parameters">Template
             parameters</a>
           </h6>
@@ -148,7 +148,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_generator.notation"></a><h6>
-<a name="id1053401"></a>
+<a name="id1092245"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -161,7 +161,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.auto.create_generator.expression_semantics"></a><h6>
-<a name="id1053448"></a>
+<a name="id1092292"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -212,7 +212,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_generator.predefined_specializations"></a><h6>
-<a name="id1053620"></a>
+<a name="id1092463"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -234,7 +234,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_generator.when_to_implement"></a><h6>
-<a name="id1053678"></a>
+<a name="id1092522"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.when_to_implement">When
             to implement</a>
           </h6>
@@ -246,7 +246,7 @@
             functions based on the automatic creation of the matching generator type).
           </p>
 <a name="spirit.advanced.customize.auto.create_generator.example"></a><h6>
-<a name="id1053751"></a>
+<a name="id1092594"></a>
             <a class="link" href="create_generator.html#spirit.advanced.customize.auto.create_generator.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/auto/create_parser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           a Custom Attribute Mapping for a Parser</a>
 </h5></div></div></div>
 <a name="spirit.advanced.customize.auto.create_parser.create_parser"></a><h6>
-<a name="id1051762"></a>
+<a name="id1090605"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.create_parser">create_parser</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
             data type is encountered.
           </p>
 <a name="spirit.advanced.customize.auto.create_parser.module_headers"></a><h6>
-<a name="id1051833"></a>
+<a name="id1090676"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.module_headers">Module
             Headers</a>
           </h6>
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.advanced.customize.auto.create_parser.namespace"></a><h6>
-<a name="id1051932"></a>
+<a name="id1090776"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -68,7 +68,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_parser.synopsis"></a><h6>
-<a name="id1052017"></a>
+<a name="id1090860"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.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">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
@@ -79,7 +79,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.auto.create_parser.template_parameters"></a><h6>
-<a name="id1052169"></a>
+<a name="id1091013"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.template_parameters">Template
             parameters</a>
           </h6>
@@ -148,7 +148,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_parser.notation"></a><h6>
-<a name="id1052370"></a>
+<a name="id1091213"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -161,7 +161,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.auto.create_parser.expression_semantics"></a><h6>
-<a name="id1052416"></a>
+<a name="id1091260"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -211,7 +211,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_parser.predefined_specializations"></a><h6>
-<a name="id1052588"></a>
+<a name="id1091431"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -233,7 +233,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.auto.create_parser.when_to_implement"></a><h6>
-<a name="id1052645"></a>
+<a name="id1091488"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.when_to_implement">When
             to implement</a>
           </h6>
@@ -245,7 +245,7 @@
             based on the automatic creation of the matching parser type).
           </p>
 <a name="spirit.advanced.customize.auto.create_parser.example"></a><h6>
-<a name="id1052717"></a>
+<a name="id1091560"></a>
             <a class="link" href="create_parser.html#spirit.advanced.customize.auto.create_parser.example">Example</a>
           </h6>
 <p>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         an Attribute Value before Parsing (Qi)</a>
 </h4></div></div></div>
 <a name="spirit.advanced.customize.clear_value.clear_value"></a><h6>
-<a name="id1031245"></a>
+<a name="id1070087"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.clear_value">clear_value</a>
         </h6>
 <p>
@@ -43,7 +43,7 @@
           parser.
         </p>
 <a name="spirit.advanced.customize.clear_value.module_headers"></a><h6>
-<a name="id1031314"></a>
+<a name="id1070156"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.module_headers">Module
           Headers</a>
         </h6>
@@ -64,7 +64,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.clear_value.namespace"></a><h6>
-<a name="id1031423"></a>
+<a name="id1070266"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -81,7 +81,7 @@
                 </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.clear_value.synopsis"></a><h6>
-<a name="id1031508"></a>
+<a name="id1070350"></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>
@@ -91,7 +91,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.clear_value.template_parameters"></a><h6>
-<a name="id1031640"></a>
+<a name="id1070482"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.template_parameters">Template
           parameters</a>
         </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.clear_value.notation"></a><h6>
-<a name="id1031840"></a>
+<a name="id1070683"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.notation">Notation</a>
         </h6>
 <div class="variablelist">
@@ -181,7 +181,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.clear_value.expression_semantics"></a><h6>
-<a name="id1031953"></a>
+<a name="id1070796"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -220,7 +220,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.clear_value.predefined_specializations"></a><h6>
-<a name="id1032087"></a>
+<a name="id1070930"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.predefined_specializations">Predefined
           Specializations</a>
         </h6>
@@ -331,7 +331,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.clear_value.when_to_implement"></a><h6>
-<a name="id1032509"></a>
+<a name="id1071352"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.when_to_implement">When
           to Implement</a>
         </h6>
@@ -344,7 +344,7 @@
           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><h6>
-<a name="id1032561"></a>
+<a name="id1071404"></a>
           <a class="link" href="clear_value.html#spirit.advanced.customize.clear_value.example">Example</a>
         </h6>
 <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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         Attribute Value to Generate Output (Karma)</a>
 </h4></div></div></div>
 <a name="spirit.advanced.customize.extract_from.extract_from"></a><h6>
-<a name="id1032601"></a>
+<a name="id1071443"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.extract_from">extract_from</a>
         </h6>
 <p>
@@ -49,7 +49,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.extract_from.module_headers"></a><h6>
-<a name="id1032659"></a>
+<a name="id1071502"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.module_headers">Module
           Headers</a>
         </h6>
@@ -70,7 +70,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.extract_from.namespace"></a><h6>
-<a name="id1032778"></a>
+<a name="id1071621"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -87,7 +87,7 @@
                 </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.extract_from.synopsis"></a><h6>
-<a name="id1032862"></a>
+<a name="id1071705"></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">Exposed</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>
@@ -100,7 +100,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.extract_from.template_parameters"></a><h6>
-<a name="id1033094"></a>
+<a name="id1071936"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.template_parameters">Template
           parameters</a>
         </h6>
@@ -199,7 +199,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.extract_from.notation"></a><h6>
-<a name="id1033376"></a>
+<a name="id1072220"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.notation">Notation</a>
         </h6>
 <div class="variablelist">
@@ -220,7 +220,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.extract_from.expression_semantics"></a><h6>
-<a name="id1033479"></a>
+<a name="id1072321"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -259,7 +259,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.extract_from.predefined_specializations"></a><h6>
-<a name="id1033613"></a>
+<a name="id1072455"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.predefined_specializations">Predefined
           Specializations</a>
         </h6>
@@ -353,7 +353,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.extract_from.when_to_implement"></a><h6>
-<a name="id1034051"></a>
+<a name="id1072894"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.when_to_implement">When
           to implement</a>
         </h6>
@@ -365,7 +365,7 @@
           and is not copy constructible.
         </p>
 <a name="spirit.advanced.customize.extract_from.example"></a><h6>
-<a name="id1034098"></a>
+<a name="id1072941"></a>
           <a class="link" href="extract_from.html#spirit.advanced.customize.extract_from.example">Example</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/handles_container.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,7 +1,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Determine Whether a Component Handles Container Attributes (Karma)</title>
+<title>Determine Whether a Component Handles Container Attributes (Qi and Karma)</title>
 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../../index.html" title="Spirit 2.4.2">
@@ -22,10 +22,340 @@
 <div class="spirit-nav">
 <a accesskey="p" href="is_container.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../customize.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section"><div class="titlepage"><div><div><h4 class="title">
-<a name="spirit.advanced.customize.handles_container"></a><a class="link" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Karma)">Determine
- Whether a Component Handles Container Attributes (Karma)</a>
-</h4></div></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="spirit.advanced.customize.handles_container"></a><a class="link" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Qi and Karma)">Determine
+ Whether a Component Handles Container Attributes (Qi and Karma)</a>
+</h4></div></div></div>
+<a name="spirit.advanced.customize.handles_container.handles_container"></a><h6>
+<a name="id1057284"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_container.handles_container">handles_container</a>
+ </h6>
+<p>
+ The template <code class="computeroutput"><span class="identifier">handles_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 class="link" href="../../qi/reference/operator/sequence.html" title="Sequence Parser (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="Sequence Generator (a &lt;&lt; b)">Sequence (<code class="computeroutput"><span class="special">&lt;&lt;</span></code>)</a> operators in order to determine
+ whether a sequence element (component) handles container attributes directly.
+ This customization point is invoked for container attributes only, and
+ only if the sequence is compatible with the supplied container attribute.
+ </p>
+<p>
+ If a component, which is part of a sequence is able to handle a container
+ attribute directly, the sequence passes the attribute to the component
+ without any additional action. In <span class="emphasis"><em>Spirit.Qi</em></span> the component
+ uses the attribute to directly store all matched attributes. In <span class="emphasis"><em>Spirit.Karma</em></span>
+ the generator component extracts the attributes needed for output generation
+ directly from this attribute.
+ </p>
+<p>
+ If a component, which is part of a sequence is not able to handle container
+ attributes, in <span class="emphasis"><em>Spirit.Qi</em></span> the sequence passes a new
+ instance of the container attribute's <code class="computeroutput"><span class="identifier">value_type</span></code>
+ to the parser component, inserting the result into the attribute on behalf
+ of the parser component. In <span class="emphasis"><em>Spirit.Karma</em></span> the sequence
+ extracts the next container element on behalf of the generator component
+ and passing it the extracted value.
+ </p>
+<a name="spirit.advanced.customize.handles_container.header"></a><h6>
+<a name="id1057403"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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">handles_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"><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.handles_container.namespace"></a><h6>
+<a name="id1057513"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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.handles_container.synopsis"></a><h6>
+<a name="id1057597"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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">Component</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Attribute</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">handles_container</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">unspecified</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<a name="spirit.advanced.customize.handles_container.template_parameters"></a><h6>
+<a name="id1057734"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_container.template_parameters">Template
+ parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<td class="auto-generated">&#160;</td>
+<td class="auto-generated">&#160;</td>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Component</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The component type <code class="computeroutput"><span class="identifier">Component</span></code>
+ which needs to be tested whether it handles container attributes
+ directly.
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+<td class="auto-generated">&#160;</td>
+<td class="auto-generated">&#160;</td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Attribute</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The attribute type <code class="computeroutput"><span class="identifier">Attribute</span></code>
+ as passed to the sequence operator.
+ </p>
+ </td>
+<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">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.handles_container.notation"></a><h6>
+<a name="id1057969"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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">Component</span></code></span></dt>
+<dd><p>
+ A comonent type to be tested whether it directly handles container
+ attributes in the context of sequences.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Attribute</span></code></span></dt>
+<dd><p>
+ A container attribute type as passed to the sequence.
+ </p></dd>
+<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.handles_container.expression_semantics"></a><h6>
+<a name="id1058070"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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">handles_container</span><span class="special">&lt;</span><span class="identifier">Component</span><span class="special">,</span> <span class="identifier">Attribute</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 component type <code class="computeroutput"><span class="identifier">Component</span></code>,
+ handles container attributes directly, <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>
+</tr></tbody>
+</table></div>
+<a name="spirit.advanced.customize.handles_container.predefined_specializations"></a><h6>
+<a name="id1058237"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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 conditions for which the corresponding specializations
+ 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">
+<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">Component</span></code>, <code class="computeroutput"><span class="identifier">Attribute</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Always returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>
+ (the default).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="identifier">T1</span><span class="special">,</span>
+ <span class="identifier">T2</span><span class="special">,</span>
+ <span class="identifier">T3</span><span class="special">,</span>
+ <span class="identifier">T4</span><span class="special">&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">Attribute</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span></code>, where <code class="computeroutput"><span class="identifier">A</span></code>
+ is the attribute exposed by the rule (<span class="emphasis"><em>Spirit.Qi</em></span>
+ and <span class="emphasis"><em>Spirit.Karma</em></span>).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">grammar</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="identifier">T1</span><span class="special">,</span>
+ <span class="identifier">T2</span><span class="special">,</span>
+ <span class="identifier">T3</span><span class="special">,</span>
+ <span class="identifier">T4</span><span class="special">&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">Attribute</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span></code>, where <code class="computeroutput"><span class="identifier">A</span></code>
+ is the attribute exposed by the grammar (<span class="emphasis"><em>Spirit.Qi</em></span>
+ and <span class="emphasis"><em>Spirit.Karma</em></span>).
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.advanced.customize.handles_container.when_to_implement"></a><h6>
+<a name="id1058653"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_container.when_to_implement">When
+ to implement</a>
+ </h6>
+<p>
+ The customization point <code class="computeroutput"><span class="identifier">handles_container</span></code>
+ needs to be implemented for a specific type whenever this type directly
+ handles container attributes. It is applicable for parsers (<span class="emphasis"><em>Spirit.Qi</em></span>)
+ and generators (<span class="emphasis"><em>Spirit.Karma</em></span>). It will have to be
+ implemented under rare circumstances only.
+ </p>
+<a name="spirit.advanced.customize.handles_container.example"></a><h6>
+<a name="id1058697"></a>
+ <a class="link" href="handles_container.html#spirit.advanced.customize.handles_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 &#169; 2001-2010 Joel de Guzman, Hartmut Kaiser<p>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../index.html" title="Spirit 2.4.2">
 <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="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Karma)">
+<link rel="next" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Qi and Karma)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -28,7 +28,7 @@
         a Type Should be Treated as a Container (Qi and Karma)</a>
 </h4></div></div></div>
 <a name="spirit.advanced.customize.is_container.is_container"></a><h6>
-<a name="id1017482"></a>
+<a name="id1054887"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.is_container">is_container</a>
         </h6>
 <p>
@@ -40,7 +40,7 @@
           whether a supplied attribute can potentially be treated as a container.
         </p>
 <a name="spirit.advanced.customize.is_container.header"></a><h6>
-<a name="id1017560"></a>
+<a name="id1054966"></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>
@@ -60,7 +60,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.is_container.namespace"></a><h6>
-<a name="id1017671"></a>
+<a name="id1055076"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -77,7 +77,7 @@
                 </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.is_container.synopsis"></a><h6>
-<a name="id1017756"></a>
+<a name="id1055161"></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>
@@ -87,7 +87,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.is_container.template_parameters"></a><h6>
-<a name="id1017876"></a>
+<a name="id1055281"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.template_parameters">Template
           parameters</a>
         </h6>
@@ -156,7 +156,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.is_container.notation"></a><h6>
-<a name="id1018077"></a>
+<a name="id1055482"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.notation">Notation</a>
         </h6>
 <div class="variablelist">
@@ -173,7 +173,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.is_container.expression_semantics"></a><h6>
-<a name="id1018156"></a>
+<a name="id1055561"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -212,7 +212,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.is_container.predefined_specializations"></a><h6>
-<a name="id1018311"></a>
+<a name="id1055716"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.predefined_specializations">Predefined
           Specializations</a>
         </h6>
@@ -301,7 +301,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.is_container.when_to_implement"></a><h6>
-<a name="id1018827"></a>
+<a name="id1056232"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.when_to_implement">When
           to implement</a>
         </h6>
@@ -323,7 +323,7 @@
           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><h6>
-<a name="id1019034"></a>
+<a name="id1056439"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.related_attribute_customization_points">Related
           Attribute Customization Points</a>
         </h6>
@@ -479,7 +479,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.is_container.example"></a><h6>
-<a name="id1019802"></a>
+<a name="id1057207"></a>
           <a class="link" href="is_container.html#spirit.advanced.customize.is_container.example">Example</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/begin_container.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           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="id1037577"></a>
+<a name="id1076420"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.begin_container">begin_container</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             holding the attributes to generate output from.
           </p>
 <a name="spirit.advanced.customize.iterate.begin_container.module_headers"></a><h6>
-<a name="id1037677"></a>
+<a name="id1076519"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.module_headers">Module
             Headers</a>
           </h6>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.iterate.begin_container.namespace"></a><h6>
-<a name="id1037788"></a>
+<a name="id1076631"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.begin_container.synopsis"></a><h6>
-<a name="id1037874"></a>
+<a name="id1076716"></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>
@@ -90,7 +90,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.iterate.begin_container.template_parameters"></a><h6>
-<a name="id1038030"></a>
+<a name="id1076872"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.template_parameters">Template
             parameters</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.begin_container.notation"></a><h6>
-<a name="id1038230"></a>
+<a name="id1077072"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -177,7 +177,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.iterate.begin_container.expression_semantics"></a><h6>
-<a name="id1038309"></a>
+<a name="id1077151"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -236,7 +236,7 @@
               </li>
 </ul></div>
 <a name="spirit.advanced.customize.iterate.begin_container.predefined_specializations"></a><h6>
-<a name="id1038536"></a>
+<a name="id1077379"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -303,7 +303,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.begin_container.when_to_implement"></a><h6>
-<a name="id1038760"></a>
+<a name="id1077603"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.when_to_implement">When
             to implement</a>
           </h6>
@@ -318,7 +318,7 @@
             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="id1038861"></a>
+<a name="id1077704"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
@@ -450,7 +450,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.begin_container.example"></a><h6>
-<a name="id1039494"></a>
+<a name="id1078336"></a>
             <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/compare_iterators.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           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="id1049730"></a>
+<a name="id1088574"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.compare_iterators">compare_iterators</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
             the end of the element sequence to generate output for.
           </p>
 <a name="spirit.advanced.customize.iterate.compare_iterators.module_headers"></a><h6>
-<a name="id1049877"></a>
+<a name="id1088720"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.module_headers">Module
             Headers</a>
           </h6>
@@ -63,7 +63,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.namespace"></a><h6>
-<a name="id1049988"></a>
+<a name="id1088831"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -80,7 +80,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.synopsis"></a><h6>
-<a name="id1050073"></a>
+<a name="id1088916"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_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">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
@@ -90,7 +90,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.iterate.compare_iterators.template_parameters"></a><h6>
-<a name="id1050236"></a>
+<a name="id1089080"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.template_parameters">Template
             parameters</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.notation"></a><h6>
-<a name="id1050452"></a>
+<a name="id1089296"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -181,7 +181,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.expression_semantics"></a><h6>
-<a name="id1050572"></a>
+<a name="id1089416"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -218,7 +218,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.predefined_specializations"></a><h6>
-<a name="id1050717"></a>
+<a name="id1089560"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -274,7 +274,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.when_to_implement"></a><h6>
-<a name="id1050892"></a>
+<a name="id1089736"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.when_to_implement">When
             to implement</a>
           </h6>
@@ -290,7 +290,7 @@
             (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.compare_iterators.related_attribute_customization_points"></a><h6>
-<a name="id1050996"></a>
+<a name="id1089839"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
@@ -422,7 +422,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.compare_iterators.example"></a><h6>
-<a name="id1051630"></a>
+<a name="id1090473"></a>
             <a class="link" href="compare_iterators.html#spirit.advanced.customize.iterate.compare_iterators.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/container_iterator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           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="id1034151"></a>
+<a name="id1072994"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.container_iterator">container_iterator</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             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="id1034250"></a>
+<a name="id1073093"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.module_headers">Module
             Headers</a>
           </h6>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.iterate.container_iterator.namespace"></a><h6>
-<a name="id1034361"></a>
+<a name="id1073204"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.container_iterator.synopsis"></a><h6>
-<a name="id1034446"></a>
+<a name="id1073289"></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>
@@ -89,7 +89,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.iterate.container_iterator.template_parameters"></a><h6>
-<a name="id1034568"></a>
+<a name="id1073411"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.template_parameters">Template
             parameters</a>
           </h6>
@@ -158,7 +158,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.container_iterator.notation"></a><h6>
-<a name="id1034768"></a>
+<a name="id1073611"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -171,7 +171,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.iterate.container_iterator.expression_semantics"></a><h6>
-<a name="id1034816"></a>
+<a name="id1073658"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -229,7 +229,7 @@
               </li>
 </ul></div>
 <a name="spirit.advanced.customize.iterate.container_iterator.predefined_specializations"></a><h6>
-<a name="id1035015"></a>
+<a name="id1073857"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -297,7 +297,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.container_iterator.when_to_implement"></a><h6>
-<a name="id1035241"></a>
+<a name="id1074083"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.when_to_implement">When
             to implement</a>
           </h6>
@@ -312,7 +312,7 @@
             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="id1035343"></a>
+<a name="id1074185"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
@@ -444,7 +444,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.container_iterator.example"></a><h6>
-<a name="id1035976"></a>
+<a name="id1074817"></a>
             <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/deref_iterator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           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="id1046060"></a>
+<a name="id1084903"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.deref_iterator">deref_iterator</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             holding the attributes to generate output from.
           </p>
 <a name="spirit.advanced.customize.iterate.deref_iterator.module_headers"></a><h6>
-<a name="id1046158"></a>
+<a name="id1085002"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.module_headers">Module
             Headers</a>
           </h6>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.namespace"></a><h6>
-<a name="id1046268"></a>
+<a name="id1085112"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.synopsis"></a><h6>
-<a name="id1046354"></a>
+<a name="id1085197"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_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">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
@@ -90,7 +90,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.iterate.deref_iterator.template_parameters"></a><h6>
-<a name="id1046517"></a>
+<a name="id1085360"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.template_parameters">Template
             parameters</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.notation"></a><h6>
-<a name="id1046733"></a>
+<a name="id1085577"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -181,7 +181,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.expression_semantics"></a><h6>
-<a name="id1046844"></a>
+<a name="id1085687"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -233,7 +233,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.predefined_specializations"></a><h6>
-<a name="id1047016"></a>
+<a name="id1085859"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -293,7 +293,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.when_to_implement"></a><h6>
-<a name="id1047295"></a>
+<a name="id1086138"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.when_to_implement">When
             to implement</a>
           </h6>
@@ -309,7 +309,7 @@
             (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.deref_iterator.related_attribute_customization_points"></a><h6>
-<a name="id1047396"></a>
+<a name="id1086239"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
@@ -441,7 +441,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.deref_iterator.example"></a><h6>
-<a name="id1048030"></a>
+<a name="id1086873"></a>
             <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/end_container.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           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="id1039567"></a>
+<a name="id1078409"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.end_container">end_container</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             the attributes to generate output from.
           </p>
 <a name="spirit.advanced.customize.iterate.end_container.module_headers"></a><h6>
-<a name="id1039665"></a>
+<a name="id1078508"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.module_headers">Module
             Headers</a>
           </h6>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.iterate.end_container.namespace"></a><h6>
-<a name="id1039777"></a>
+<a name="id1078619"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.end_container.synopsis"></a><h6>
-<a name="id1039862"></a>
+<a name="id1078704"></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>
@@ -90,7 +90,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.iterate.end_container.template_parameters"></a><h6>
-<a name="id1040017"></a>
+<a name="id1078859"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.template_parameters">Template
             parameters</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.end_container.notation"></a><h6>
-<a name="id1040218"></a>
+<a name="id1079060"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -177,7 +177,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.iterate.end_container.expression_semantics"></a><h6>
-<a name="id1040297"></a>
+<a name="id1079139"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -216,7 +216,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.end_container.predefined_specializations"></a><h6>
-<a name="id1040438"></a>
+<a name="id1079280"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -283,7 +283,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.end_container.when_to_implement"></a><h6>
-<a name="id1040662"></a>
+<a name="id1079504"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.when_to_implement">When
             to implement</a>
           </h6>
@@ -298,7 +298,7 @@
             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="id1040763"></a>
+<a name="id1079605"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
@@ -430,7 +430,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.end_container.example"></a><h6>
-<a name="id1041397"></a>
+<a name="id1080239"></a>
             <a class="link" href="end_container.html#spirit.advanced.customize.iterate.end_container.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/advanced/customize/iterate/next_iterator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           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="id1041471"></a>
+<a name="id1080313"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.next_iterator">next_iterator</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             holding the attributes to generate output from.
           </p>
 <a name="spirit.advanced.customize.iterate.next_iterator.module_headers"></a><h6>
-<a name="id1041570"></a>
+<a name="id1080412"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.module_headers">Module
             Headers</a>
           </h6>
@@ -62,7 +62,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.iterate.next_iterator.namespace"></a><h6>
-<a name="id1041681"></a>
+<a name="id1080523"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -79,7 +79,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.next_iterator.synopsis"></a><h6>
-<a name="id1041766"></a>
+<a name="id1080608"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_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">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
@@ -89,7 +89,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.iterate.next_iterator.template_parameters"></a><h6>
-<a name="id1041897"></a>
+<a name="id1080740"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.template_parameters">Template
             parameters</a>
           </h6>
@@ -159,7 +159,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.next_iterator.notation"></a><h6>
-<a name="id1042113"></a>
+<a name="id1080956"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -180,7 +180,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.iterate.next_iterator.expression_semantics"></a><h6>
-<a name="id1042224"></a>
+<a name="id1081067"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -216,7 +216,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.next_iterator.predefined_specializations"></a><h6>
-<a name="id1042338"></a>
+<a name="id1081182"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -272,7 +272,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.next_iterator.when_to_implement"></a><h6>
-<a name="id1042498"></a>
+<a name="id1081341"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.when_to_implement">When
             to implement</a>
           </h6>
@@ -288,7 +288,7 @@
             (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.next_iterator.related_attribute_customization_points"></a><h6>
-<a name="id1042599"></a>
+<a name="id1081443"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.related_attribute_customization_points">Related
             Attribute Customization Points</a>
           </h6>
@@ -420,7 +420,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.iterate.next_iterator.example"></a><h6>
-<a name="id1043233"></a>
+<a name="id1082077"></a>
             <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.example">Example</a>
           </h6>
 <p>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           the Type to be Stored in a Container (Qi)</a>
 </h5></div></div></div>
 <a name="spirit.advanced.customize.store_value.container_value.container_value"></a><h6>
-<a name="id1027011"></a>
+<a name="id1065852"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.container_value">container_value</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             the type to store in a container.
           </p>
 <a name="spirit.advanced.customize.store_value.container_value.module_headers"></a><h6>
-<a name="id1027078"></a>
+<a name="id1065920"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.module_headers">Module
             Headers</a>
           </h6>
@@ -60,7 +60,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.namespace"></a><h6>
-<a name="id1027189"></a>
+<a name="id1066030"></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">
@@ -77,7 +77,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.synopsis"></a><h6>
-<a name="id1027274"></a>
+<a name="id1066115"></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>
@@ -87,7 +87,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.store_value.container_value.template_parameters"></a><h6>
-<a name="id1027396"></a>
+<a name="id1066238"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.template_parameters">Template
             parameters</a>
           </h6>
@@ -156,7 +156,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.notation"></a><h6>
-<a name="id1027597"></a>
+<a name="id1066439"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -173,7 +173,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.store_value.container_value.expression_semantics"></a><h6>
-<a name="id1027676"></a>
+<a name="id1066518"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -209,7 +209,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.predefined_specializations"></a><h6>
-<a name="id1027786"></a>
+<a name="id1066628"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -296,7 +296,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.when_to_implement"></a><h6>
-<a name="id1028199"></a>
+<a name="id1067041"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.when_to_implement">When
             to implement</a>
           </h6>
@@ -318,7 +318,7 @@
             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="id1028356"></a>
+<a name="id1067197"></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>
@@ -377,7 +377,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.container_value.example"></a><h6>
-<a name="id1028536"></a>
+<a name="id1067378"></a>
             <a class="link" href="container_value.html#spirit.advanced.customize.store_value.container_value.example">Example</a>
           </h6>
 <p>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           a Parsed Attribute Value into a Container (Qi)</a>
 </h5></div></div></div>
 <a name="spirit.advanced.customize.store_value.push_back.push_back_container"></a><h6>
-<a name="id1028852"></a>
+<a name="id1067693"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.push_back_container">push_back_container</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             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="id1028919"></a>
+<a name="id1067760"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.module_headers">Module
             Headers</a>
           </h6>
@@ -60,7 +60,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.namespace"></a><h6>
-<a name="id1029031"></a>
+<a name="id1067872"></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">
@@ -77,7 +77,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.synopsis"></a><h6>
-<a name="id1029116"></a>
+<a name="id1067957"></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>
@@ -87,7 +87,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.store_value.push_back.template_parameters"></a><h6>
-<a name="id1029289"></a>
+<a name="id1068131"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.template_parameters">Template
             parameters</a>
           </h6>
@@ -176,7 +176,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.notation"></a><h6>
-<a name="id1029561"></a>
+<a name="id1068403"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.notation">Notation</a>
           </h6>
 <div class="variablelist">
@@ -209,7 +209,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.store_value.push_back.expression_semantics"></a><h6>
-<a name="id1029722"></a>
+<a name="id1068564"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -253,7 +253,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.predefined_specializations"></a><h6>
-<a name="id1029909"></a>
+<a name="id1068752"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.predefined_specializations">Predefined
             Specializations</a>
           </h6>
@@ -347,7 +347,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.when_to_implement"></a><h6>
-<a name="id1030424"></a>
+<a name="id1069267"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.when_to_implement">When
             to Implement</a>
           </h6>
@@ -369,7 +369,7 @@
             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="id1030619"></a>
+<a name="id1069462"></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>
@@ -428,7 +428,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.store_value.push_back.example"></a><h6>
-<a name="id1030800"></a>
+<a name="id1069642"></a>
             <a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.example">Example</a>
           </h6>
 <p>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../customize.html" title="Customization of Spirit's Attribute Handling">
-<link rel="prev" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (Karma)">
+<link rel="prev" href="handles_container.html" title="Determine Whether a Component Handles Container Attributes (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">
@@ -28,7 +28,7 @@
         to a Different Type (Qi and Karma)</a>
 </h4></div></div></div>
 <a name="spirit.advanced.customize.transform.transform_attribute"></a><h6>
-<a name="id1019895"></a>
+<a name="id1058735"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.transform_attribute">transform_attribute</a>
         </h6>
 <p>
@@ -55,7 +55,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.transform.module_headers"></a><h6>
-<a name="id1020033"></a>
+<a name="id1058874"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.module_headers">Module
           Headers</a>
         </h6>
@@ -76,7 +76,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.advanced.customize.transform.namespace"></a><h6>
-<a name="id1020144"></a>
+<a name="id1058985"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -93,7 +93,7 @@
                 </td></tr></tbody>
 </table></div>
 <a name="spirit.advanced.customize.transform.synopsis"></a><h6>
-<a name="id1020230"></a>
+<a name="id1059070"></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">Domain</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
@@ -106,7 +106,7 @@
 </span><span class="special">};</span>
 </pre>
 <a name="spirit.advanced.customize.transform.template_parameters"></a><h6>
-<a name="id1020521"></a>
+<a name="id1059361"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.template_parameters">Template
           parameters</a>
         </h6>
@@ -212,7 +212,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.transform.notation"></a><h6>
-<a name="id1020817"></a>
+<a name="id1059658"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.notation">Notation</a>
         </h6>
 <div class="variablelist">
@@ -247,7 +247,7 @@
 </dl>
 </div>
 <a name="spirit.advanced.customize.transform.expression_semantics"></a><h6>
-<a name="id1021055"></a>
+<a name="id1059896"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -351,7 +351,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.transform.predefined_specializations"></a><h6>
-<a name="id1021617"></a>
+<a name="id1060458"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.predefined_specializations">Predefined
           Specializations</a>
         </h6>
@@ -533,7 +533,7 @@
 </tbody>
 </table></div>
 <a name="spirit.advanced.customize.transform.when_to_implement"></a><h6>
-<a name="id1022758"></a>
+<a name="id1061598"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.when_to_implement">When
           to implement</a>
         </h6>
@@ -550,7 +550,7 @@
           is not constructible from the type <code class="computeroutput"><span class="identifier">Exposed</span></code>.
         </p>
 <a name="spirit.advanced.customize.transform.example"></a><h6>
-<a name="id1022858"></a>
+<a name="id1061699"></a>
           <a class="link" href="transform.html#spirit.advanced.customize.transform.example">Example</a>
         </h6>
 <p>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -193,59 +193,20 @@
 </dl>
 </div>
 <a name="spirit.advanced.indepth.parsers_indepth.primitive_parsers"></a><h6>
-<a name="id1012086"></a>
+<a name="id1050268"></a>
           <a class="link" href="parsers_indepth.html#spirit.advanced.indepth.parsers_indepth.primitive_parsers">Primitive
           Parsers</a>
         </h6>
 <p>
           For our dissection study, we will use a Spirit
- primitive, the <code class="computeroutput"><span class="identifier">int_parser</span></code>
+ primitive, the <code class="computeroutput"><span class="identifier">any_int_parser</span></code>
           in the boost::spirit::qi namespace.
         </p>
 <p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T</span>
- <span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">Radix</span> <span class="special">=</span> <span class="number">10</span>
- <span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">MinDigits</span> <span class="special">=</span> <span class="number">1</span>
- <span class="special">,</span> <span class="keyword">int</span> <span class="identifier">MaxDigits</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">int_parser_impl</span>
- <span class="special">:</span> <span class="identifier">primitive_parser</span><span class="special">&lt;</span><span class="identifier">int_parser_impl</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="special">&gt;</span>
-<span class="special">{</span>
- <span class="comment">// check template parameter 'Radix' for validity
-</span> <span class="identifier">BOOST_SPIRIT_ASSERT_MSG</span><span class="special">(</span>
- <span class="identifier">Radix</span> <span class="special">==</span> <span class="number">2</span> <span class="special">||</span> <span class="identifier">Radix</span> <span class="special">==</span> <span class="number">8</span> <span class="special">||</span> <span class="identifier">Radix</span> <span class="special">==</span> <span class="number">10</span> <span class="special">||</span> <span class="identifier">Radix</span> <span class="special">==</span> <span class="number">16</span><span class="special">,</span>
- <span class="identifier">not_supported_radix</span><span class="special">,</span> <span class="special">());</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="keyword">struct</span> <span class="identifier">attribute</span>
- <span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
- <span class="special">};</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span>
- <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Skipper</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Attribute</span><span class="special">&gt;</span>
- <span class="keyword">bool</span> <span class="identifier">parse</span><span class="special">(</span><span class="identifier">Iterator</span><span class="special">&amp;</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">last</span>
- <span class="special">,</span> <span class="identifier">Context</span><span class="special">&amp;</span> <span class="comment">/*context*/</span><span class="special">,</span> <span class="identifier">Skipper</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">skipper</span>
- <span class="special">,</span> <span class="identifier">Attribute</span><span class="special">&amp;</span> <span class="identifier">attr</span><span class="special">)</span> <span class="keyword">const</span>
- <span class="special">{</span>
- <span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip_over</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>
- <span class="keyword">return</span> <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="special">::</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>
- <span class="special">}</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
- <span class="identifier">info</span> <span class="identifier">what</span><span class="special">(</span><span class="identifier">Context</span><span class="special">&amp;</span> <span class="comment">/*context*/</span><span class="special">)</span> <span class="keyword">const</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">info</span><span class="special">(</span><span class="string">"integer"</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
+ [primitive_parsers_any_int_parser]
         </p>
 <p>
- The <code class="computeroutput"><span class="identifier">int_parser</span></code> is derived
+ The <code class="computeroutput"><span class="identifier">any_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:
@@ -289,7 +250,7 @@
         </p>
 <p>
           The <span class="emphasis"><em>attribute</em></span> metafunction returns the T template
- parameter. We associate the <code class="computeroutput"><span class="identifier">int_parser</span></code>
+ parameter. We associate the <code class="computeroutput"><span class="identifier">any_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,
@@ -298,41 +259,37 @@
 <p>
           
 </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">short_</span><span class="special">&gt;</span> <span class="comment">// enables short_
-</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="comment">// enables short_
+</span><span class="keyword">struct</span> <span class="identifier">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">short_</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
 </pre>
 <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">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&gt;</span> <span class="comment">// enables int_
-</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="comment">// enables int_
+</span><span class="keyword">struct</span> <span class="identifier">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
 </pre>
 <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">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_</span><span class="special">&gt;</span> <span class="comment">// enables long_
-</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="comment">// enables long_
+</span><span class="keyword">struct</span> <span class="identifier">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
 </pre>
 <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">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_long</span><span class="special">&gt;</span> <span class="comment">// enables long_long
-</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="comment">// enables long_long
+</span><span class="keyword">struct</span> <span class="identifier">use_terminal</span><span class="special">&lt;</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">domain</span><span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_long</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
 </pre>
 <p>
         </p>
 <p>
- Notice that <code class="computeroutput"><span class="identifier">int_parser</span></code>
+ Notice that <code class="computeroutput"><span class="identifier">any_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 <span class="emphasis"><em>domains</em></span>.
@@ -349,10 +306,14 @@
 <p>
           
 </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<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">,</span> <span class="keyword">unsigned</span> <span class="identifier">Radix</span> <span class="special">=</span> <span class="number">10</span>
+ <span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">MinDigits</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="keyword">int</span> <span class="identifier">MaxDigits</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">make_int</span>
 <span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">int_parser_impl</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">any_int_parser</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">result_type</span><span class="special">;</span>
     <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">unused_type</span><span class="special">,</span> <span class="identifier">unused_type</span><span class="special">)</span> <span class="keyword">const</span>
     <span class="special">{</span>
         <span class="keyword">return</span> <span class="identifier">result_type</span><span class="special">();</span>
@@ -385,7 +346,8 @@
           
 </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">short_</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="keyword">short</span><span class="special">&gt;</span> <span class="special">{};</span>
+<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">short_</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="keyword">short</span><span class="special">&gt;</span> <span class="special">{};</span>
 </pre>
 <p>
         </p>
@@ -393,7 +355,8 @@
           
 </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">int_</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">{};</span>
+<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">int_</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">{};</span>
 </pre>
 <p>
         </p>
@@ -401,7 +364,8 @@
           
 </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="special">{};</span>
+<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="special">{};</span>
 </pre>
 <p>
         </p>
@@ -409,7 +373,7 @@
           
 </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_long</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">make_primitive</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">long_long</span><span class="special">,</span> <span class="identifier">Modifiers</span><span class="special">&gt;</span>
   <span class="special">:</span> <span class="identifier">make_int</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">long_long_type</span><span class="special">&gt;</span> <span class="special">{};</span>
 </pre>
 <p>
@@ -420,7 +384,7 @@
           which does the actual work.
         </p>
 <a name="spirit.advanced.indepth.parsers_indepth.composite_parsers"></a><h6>
-<a name="id1014574"></a>
+<a name="id1051978"></a>
           <a class="link" href="parsers_indepth.html#spirit.advanced.indepth.parsers_indepth.composite_parsers">Composite
           Parsers</a>
         </h6>

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 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.faq"></a><a class="link" href="faq.html" title="Spirit FAQ">Spirit FAQ</a>
 </h2></div></div></div>
 <a name="spirit.faq.i_m_getting_multiple_symbol_definition_errors_while_using_visual_c____anything_i_could_do_about_that_"></a><h4>
-<a name="id1067115"></a>
+<a name="id1105963"></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>
@@ -63,7 +63,7 @@
       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><h4>
-<a name="id1067340"></a>
+<a name="id1106188"></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>
@@ -171,7 +171,7 @@
       are available.
     </p>
 <a name="spirit.faq.why_doesn_t_my_symbol_table_work_in_a__code__phrase_role__identifier__no_case__phrase___code__directive_"></a><h4>
-<a name="id1068003"></a>
+<a name="id1106850"></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>
@@ -185,7 +185,7 @@
       one or more uppercase characters will not match any input.
     </p>
 <a name="spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_"></a><h4>
-<a name="id1068105"></a>
+<a name="id1106953"></a>
       <a class="link" href="faq.html#spirit.faq.i_m_getting_a_compilation_error_mentioning__code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function__phrase___code__and_or___________code__phrase_role__identifier__boost__phrase__phrase_role__special______phrase__phrase_role__identifier__function4__phrase___code___what_does_this_mean_">I'm
       getting a compilation error mentioning <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code>
       and/or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function4</span></code>. What does this mean?</a>

Modified: trunk/libs/spirit/doc/html/spirit/introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/introduction.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
 <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="id692101" href="#ftn.id692101" class="footnote">2</a>]</sup> directly in C++. These inline grammar specifications can mix freely
+ a format similar to Extended Backus Naur Form (EBNF)<sup>[<a name="id719605" href="#ftn.id719605" class="footnote">2</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
       have to perform an additional translation step from the source EBNF code to
@@ -135,7 +135,7 @@
 <p><br class="figure-break">
     </p>
 <a name="spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_"></a><h4>
-<a name="id692361"></a>
+<a name="id719865"></a>
       <a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_parsing_with__emphasis_spirit_qi__emphasis_">A
       Quick Overview of Parsing with <span class="emphasis"><em>Spirit.Qi</em></span></a>
     </h4>
@@ -226,7 +226,7 @@
       <code class="computeroutput"><span class="special">;</span></code>.
     </p>
 <a name="spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_"></a><h4>
-<a name="id693472"></a>
+<a name="id720973"></a>
       <a class="link" href="introduction.html#spirit.introduction.a_quick_overview_of_output_generation_with__emphasis_spirit_karma__emphasis_">A
       Quick Overview of Output Generation with <span class="emphasis"><em>Spirit.Karma</em></span></a>
     </h4>
@@ -453,7 +453,7 @@
 </div>
 <br class="table-break"><div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id692101" href="#id692101" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id719605" href="#id719605" class="para">2</a>] </sup>
         <a href="http://www.cl.cam.ac.uk/%7Emgk25/iso-14977.pdf" target="_top">ISO-EBNF</a>
       </p></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/karma.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../index.html" title="Spirit 2.4.2">
-<link rel="prev" href="qi/reference/string/symbols.html" title="Symbols Parser (symbols)">
+<link rel="prev" href="qi/s04.html" title="Qi Index">
 <link rel="next" href="karma/tutorials.html" title="Tutorials">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="qi/reference/string/symbols.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="qi/s04.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -79,6 +79,7 @@
 <dt><span class="section">Performance Measurements</span></dt>
 <dd><dl><dt><span class="section"><a href="karma/performance_measurements/numeric_performance.html">Performance
         of Numeric Generators</a></span></dt></dl></dd>
+<dt><span class="section">Karma Index</span></dt>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -91,7 +92,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="qi/reference/string/symbols.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="qi/s04.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="karma/tutorials.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/performance_measurements/numeric_performance/format_performance.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../numeric_performance.html" title="Performance of Numeric Generators">
 <link rel="prev" href="double_performance.html" title="Comparing the performance of a single double_ generator">
-<link rel="next" href="../../../lex.html" title="Lex - Writing Lexical Analyzers">
+<link rel="next" href="../../s05.html" title="Karma Index">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="double_performance.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../lex.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="double_performance.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../s05.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h5 class="title">
@@ -356,7 +356,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="double_performance.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../lex.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="double_performance.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_performance.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../s05.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/quick_reference/compound_attribute_rules.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         Attribute Rules</a>
 </h4></div></div></div>
 <a name="spirit.karma.quick_reference.compound_attribute_rules.notation"></a><h6>
-<a name="id857436"></a>
+<a name="id893625"></a>
           <a class="link" href="compound_attribute_rules.html#spirit.karma.quick_reference.compound_attribute_rules.notation">Notation</a>
         </h6>
 <p>
@@ -77,7 +77,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.quick_reference.compound_attribute_rules.compound_generator_attribute_types"></a><h6>
-<a name="id858128"></a>
+<a name="id894316"></a>
           <a class="link" href="compound_attribute_rules.html#spirit.karma.quick_reference.compound_attribute_rules.compound_generator_attribute_types">Compound
           Generator Attribute Types</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/action.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/action.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/action.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         Generators</a>
 </h4></div></div></div>
 <a name="spirit.karma.reference.action.description"></a><h6>
-<a name="id878961"></a>
+<a name="id915149"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.description">Description</a>
         </h6>
 <p>
@@ -40,7 +40,7 @@
           generator expression.
         </p>
 <a name="spirit.karma.reference.action.header"></a><h6>
-<a name="id879012"></a>
+<a name="id915200"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/action.hpp&gt;
@@ -50,7 +50,7 @@
           Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
 <a name="spirit.karma.reference.action.model_of"></a><h6>
-<a name="id879110"></a>
+<a name="id915298"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.model_of">Model of</a>
         </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -86,7 +86,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.action.expression_semantics"></a><h6>
-<a name="id879354"></a>
+<a name="id915542"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -164,7 +164,7 @@
           and not generating any output.
         </p>
 <a name="spirit.karma.reference.action.attributes"></a><h6>
-<a name="id879929"></a>
+<a name="id916118"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.attributes">Attributes</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -201,7 +201,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.action.complexity"></a><h6>
-<a name="id880072"></a>
+<a name="id916261"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.complexity">Complexity</a>
         </h6>
 <p>
@@ -222,7 +222,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.action.example"></a><h6>
-<a name="id880114"></a>
+<a name="id916302"></a>
           <a class="link" href="action.html#spirit.karma.reference.action.example">Example</a>
         </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auto.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auto.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auto.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.auto"></a><a class="link" href="auto.html" title="Auto Generator">Auto Generator</a>
 </h4></div></div></div>
 <a name="spirit.karma.reference.auto.description"></a><h6>
-<a name="id880821"></a>
+<a name="id917010"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.description">Description</a>
         </h6>
 <p>
@@ -36,7 +36,7 @@
           based on the supplied attribute type.
         </p>
 <a name="spirit.karma.reference.auto.header"></a><h6>
-<a name="id880856"></a>
+<a name="id917044"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auto.hpp&gt;
@@ -46,7 +46,7 @@
           Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
 <a name="spirit.karma.reference.auto.namespace"></a><h6>
-<a name="id880954"></a>
+<a name="id917143"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -64,7 +64,7 @@
                 </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auto.model_of"></a><h6>
-<a name="id881045"></a>
+<a name="id917233"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.model_of">Model of</a>
         </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -85,7 +85,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.auto.expression_semantics"></a><h6>
-<a name="id881201"></a>
+<a name="id917390"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -142,7 +142,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auto.additional_requirements"></a><h6>
-<a name="id881346"></a>
+<a name="id917534"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.additional_requirements">Additional
           Requirements</a>
         </h6>
@@ -331,7 +331,7 @@
           can be used also to redefined any of the predefined mappings.
         </p>
 <a name="spirit.karma.reference.auto.attributes"></a><h6>
-<a name="id882219"></a>
+<a name="id918408"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.attributes">Attributes</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -407,7 +407,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.auto.complexity"></a><h6>
-<a name="id882519"></a>
+<a name="id918707"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.complexity">Complexity</a>
         </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -417,7 +417,7 @@
             complexity.
           </p></blockquote></div>
 <a name="spirit.karma.reference.auto.example"></a><h6>
-<a name="id882557"></a>
+<a name="id918745"></a>
           <a class="link" href="auto.html#spirit.karma.reference.auto.example">Example</a>
         </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -43,7 +43,7 @@
           and <code class="computeroutput"><span class="identifier">lazy</span></code> generators.
         </p>
 <a name="spirit.karma.reference.auxiliary.module_header"></a><h6>
-<a name="id884069"></a>
+<a name="id920258"></a>
           <a class="link" href="auxiliary.html#spirit.karma.reference.auxiliary.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/attr_cast.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Transformation Pseudo Generator (<code class="computeroutput"><span class="identifier">attr_cast</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.auxiliary.attr_cast.description"></a><h6>
-<a name="id884194"></a>
+<a name="id920382"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             component using the customization point <a class="link" href="../../../advanced/customize/transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)"><code class="computeroutput"><span class="identifier">transform_attribute</span></code></a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.attr_cast.header"></a><h6>
-<a name="id884290"></a>
+<a name="id920478"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/attr_cast.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.attr_cast.namespace"></a><h6>
-<a name="id884389"></a>
+<a name="id920578"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -69,14 +69,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.attr_cast.synopsis"></a><h6>
-<a name="id884480"></a>
+<a name="id920669"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</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="special">&lt;</span><span class="identifier">unspecified</span><span class="special">&gt;</span> <span class="identifier">attr_cast</span><span class="special">(&lt;</span><span class="identifier">unspecified</span><span class="special">&gt;);</span>
 </pre>
 <a name="spirit.karma.reference.auxiliary.attr_cast.template_parameters"></a><h6>
-<a name="id884572"></a>
+<a name="id920761"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.template_parameters">Template
             parameters</a>
           </h6>
@@ -154,7 +154,7 @@
             not explicitly specified.
           </p>
 <a name="spirit.karma.reference.auxiliary.attr_cast.model_of"></a><h6>
-<a name="id884853"></a>
+<a name="id921041"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.model_of">Model
             of</a>
           </h6>
@@ -171,7 +171,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.auxiliary.attr_cast.expression_semantics"></a><h6>
-<a name="id884924"></a>
+<a name="id921112"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -259,7 +259,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.attr_cast.attributes"></a><h6>
-<a name="id885346"></a>
+<a name="id921535"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -330,7 +330,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.attr_cast.complexity"></a><h6>
-<a name="id885728"></a>
+<a name="id921917"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -338,7 +338,7 @@
               of the embedded generator <code class="computeroutput"><span class="identifier">g</span></code>.
             </p></blockquote></div>
 <a name="spirit.karma.reference.auxiliary.attr_cast.example"></a><h6>
-<a name="id885767"></a>
+<a name="id921955"></a>
             <a class="link" href="attr_cast.html#spirit.karma.reference.auxiliary.attr_cast.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eol.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator (<code class="computeroutput"><span class="identifier">eol</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.auxiliary.eol.description"></a><h6>
-<a name="id886623"></a>
+<a name="id922812"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             details).
           </p>
 <a name="spirit.karma.reference.auxiliary.eol.header"></a><h6>
-<a name="id886698"></a>
+<a name="id922886"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/eol.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.eol.namespace"></a><h6>
-<a name="id886796"></a>
+<a name="id922986"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -66,14 +66,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eol.model_of"></a><h6>
-<a name="id886888"></a>
+<a name="id923077"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               <a class="link" href="../generator_concepts/primitivegenerator.html" title="PrimitiveGenerator"><code class="computeroutput"><span class="identifier">PrimitiveGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.auxiliary.eol.expression_semantics"></a><h6>
-<a name="id886931"></a>
+<a name="id923119"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -114,7 +114,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eol.attributes"></a><h6>
-<a name="id887034"></a>
+<a name="id923222"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -148,7 +148,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eol.complexity"></a><h6>
-<a name="id887124"></a>
+<a name="id923312"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -159,7 +159,7 @@
             output.
           </p>
 <a name="spirit.karma.reference.auxiliary.eol.example"></a><h6>
-<a name="id887155"></a>
+<a name="id923343"></a>
             <a class="link" href="eol.html#spirit.karma.reference.auxiliary.eol.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/eps.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -34,7 +34,7 @@
             or to insert semantic actions into the generation process.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.description"></a><h6>
-<a name="id887660"></a>
+<a name="id923848"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.description">Description</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
             a multi-purpose generator that emits a zero length string.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.simple_form"></a><h6>
-<a name="id887694"></a>
+<a name="id923882"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.simple_form">Simple
             Form</a>
           </h6>
@@ -60,7 +60,7 @@
 <pre class="programlisting"><span class="identifier">r</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">c</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">[</span><span class="identifier">error</span><span class="special">()];</span> <span class="comment">// Call error if a, b, and c fail to generate
 </span></pre>
 <a name="spirit.karma.reference.auxiliary.eps.semantic_predicate"></a><h6>
-<a name="id887824"></a>
+<a name="id924012"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.semantic_predicate">Semantic
             Predicate</a>
           </h6>
@@ -90,7 +90,7 @@
             the production will return early without ever touching rest.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.header"></a><h6>
-<a name="id888085"></a>
+<a name="id924273"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/eps.hpp&gt;
@@ -100,7 +100,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.namespace"></a><h6>
-<a name="id888184"></a>
+<a name="id924372"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -118,7 +118,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eps.model_of"></a><h6>
-<a name="id888275"></a>
+<a name="id924464"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -139,7 +139,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.auxiliary.eps.expression_semantics"></a><h6>
-<a name="id888374"></a>
+<a name="id924563"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -209,7 +209,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eps.attributes"></a><h6>
-<a name="id888600"></a>
+<a name="id924788"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -269,7 +269,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.eps.complexity"></a><h6>
-<a name="id888789"></a>
+<a name="id924978"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -279,7 +279,7 @@
             The complexity is constant as no output is generated.
           </p>
 <a name="spirit.karma.reference.auxiliary.eps.example"></a><h6>
-<a name="id888819"></a>
+<a name="id925008"></a>
             <a class="link" href="eps.html#spirit.karma.reference.auxiliary.eps.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/auxiliary/lazy.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">lazy</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.auxiliary.lazy.description"></a><h6>
-<a name="id889468"></a>
+<a name="id925657"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             its return value as the actual generator to produce the output.
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.header"></a><h6>
-<a name="id889505"></a>
+<a name="id925696"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auxiliary/lazy.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.namespace"></a><h6>
-<a name="id889604"></a>
+<a name="id925795"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -66,7 +66,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.lazy.model_of"></a><h6>
-<a name="id889695"></a>
+<a name="id925886"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.model_of">Model
             of</a>
           </h6>
@@ -99,7 +99,7 @@
             Actions</a>).
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.expression_semantics"></a><h6>
-<a name="id889891"></a>
+<a name="id926082"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -166,7 +166,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.lazy.attributes"></a><h6>
-<a name="id890083"></a>
+<a name="id926274"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -218,7 +218,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.auxiliary.lazy.complexity"></a><h6>
-<a name="id890265"></a>
+<a name="id926457"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.complexity">Complexity</a>
           </h6>
 <p>
@@ -227,7 +227,7 @@
             <code class="computeroutput"><span class="identifier">fg</span></code>.
           </p>
 <a name="spirit.karma.reference.auxiliary.lazy.example"></a><h6>
-<a name="id890311"></a>
+<a name="id926502"></a>
             <a class="link" href="lazy.html#spirit.karma.reference.auxiliary.lazy.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/basics.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.basics"></a><a class="link" href="basics.html" title="Generator Basics">Generator Basics</a>
 </h4></div></div></div>
 <a name="spirit.karma.reference.basics.lazy_argument"></a><h6>
-<a name="id868547"></a>
+<a name="id904736"></a>
           <a class="link" href="basics.html#spirit.karma.reference.basics.lazy_argument">Lazy Argument</a>
         </h6>
 <p>
@@ -52,7 +52,7 @@
           Actions</a>).
         </p>
 <a name="spirit.karma.reference.basics.character_encoding_namespace"></a><h6>
-<a name="id868734"></a>
+<a name="id904922"></a>
           <a class="link" href="basics.html#spirit.karma.reference.basics.character_encoding_namespace">Character
           Encoding Namespace</a>
         </h6>
@@ -113,7 +113,7 @@
             </li>
 </ul></div>
 <a name="spirit.karma.reference.basics.examples"></a><h6>
-<a name="id868997"></a>
+<a name="id905186"></a>
           <a class="link" href="basics.html#spirit.karma.reference.basics.examples">Examples</a>
         </h6>
 <p>
@@ -261,7 +261,7 @@
 <p>
         </p>
 <a name="spirit.karma.reference.basics.models"></a><h6>
-<a name="id872186"></a>
+<a name="id908375"></a>
           <a class="link" href="basics.html#spirit.karma.reference.basics.models">Models</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/binary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/binary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/binary.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -41,7 +41,7 @@
           to control padding of the generated output stream.
         </p>
 <a name="spirit.karma.reference.binary.module_header"></a><h6>
-<a name="id891002"></a>
+<a name="id927193"></a>
           <a class="link" href="binary.html#spirit.karma.reference.binary.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/binary.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_big.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Big Endianness Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.binary.binary_big.description"></a><h6>
-<a name="id895950"></a>
+<a name="id932143"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             byte order.
           </p>
 <a name="spirit.karma.reference.binary.binary_big.header"></a><h6>
-<a name="id895975"></a>
+<a name="id932168"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/binary.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.binary.binary_big.namespace"></a><h6>
-<a name="id896075"></a>
+<a name="id932266"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -93,7 +93,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_big.model_of"></a><h6>
-<a name="id896330"></a>
+<a name="id932521"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.model_of">Model
             of</a>
           </h6>
@@ -124,7 +124,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.binary.binary_big.expression_semantics"></a><h6>
-<a name="id896468"></a>
+<a name="id932660"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -243,7 +243,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_big.attributes"></a><h6>
-<a name="id896757"></a>
+<a name="id932949"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -342,14 +342,14 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_big.complexity"></a><h6>
-<a name="id897100"></a>
+<a name="id933292"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of bytes emitted by the binary generator
             </p></blockquote></div>
 <a name="spirit.karma.reference.binary.binary_big.example"></a><h6>
-<a name="id897127"></a>
+<a name="id933320"></a>
             <a class="link" href="binary_big.html#spirit.karma.reference.binary.binary_big.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_little.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Little Endianness Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.binary.binary_little.description"></a><h6>
-<a name="id893987"></a>
+<a name="id930178"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             byte order.
           </p>
 <a name="spirit.karma.reference.binary.binary_little.header"></a><h6>
-<a name="id894012"></a>
+<a name="id930203"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/binary.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.binary.binary_little.namespace"></a><h6>
-<a name="id894111"></a>
+<a name="id930303"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -93,7 +93,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_little.model_of"></a><h6>
-<a name="id894366"></a>
+<a name="id930557"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.model_of">Model
             of</a>
           </h6>
@@ -124,7 +124,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.binary.binary_little.expression_semantics"></a><h6>
-<a name="id894504"></a>
+<a name="id930695"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -243,7 +243,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_little.attributes"></a><h6>
-<a name="id894792"></a>
+<a name="id930984"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -342,14 +342,14 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_little.complexity"></a><h6>
-<a name="id895135"></a>
+<a name="id931326"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of bytes emitted by the binary generator
             </p></blockquote></div>
 <a name="spirit.karma.reference.binary.binary_little.example"></a><h6>
-<a name="id895163"></a>
+<a name="id931354"></a>
             <a class="link" href="binary_little.html#spirit.karma.reference.binary.binary_little.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/binary/binary_native.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Native Endianness Generators</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.binary.binary_native.description"></a><h6>
-<a name="id891115"></a>
+<a name="id927306"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             (byte order) of the target architecture.
           </p>
 <a name="spirit.karma.reference.binary.binary_native.header"></a><h6>
-<a name="id891141"></a>
+<a name="id927332"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/binary.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.binary.binary_native.namespace"></a><h6>
-<a name="id891240"></a>
+<a name="id927431"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -99,7 +99,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_native.model_of"></a><h6>
-<a name="id891539"></a>
+<a name="id927730"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.model_of">Model
             of</a>
           </h6>
@@ -135,7 +135,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.binary.binary_native.expression_semantics"></a><h6>
-<a name="id891707"></a>
+<a name="id927898"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -282,7 +282,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_native.attributes"></a><h6>
-<a name="id892066"></a>
+<a name="id928257"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -419,14 +419,14 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.binary.binary_native.complexity"></a><h6>
-<a name="id892616"></a>
+<a name="id928808"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of bytes emitted by the binary generator
             </p></blockquote></div>
 <a name="spirit.karma.reference.binary.binary_native.example"></a><h6>
-<a name="id892644"></a>
+<a name="id928835"></a>
             <a class="link" href="binary_native.html#spirit.karma.reference.binary.binary_native.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/char.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/char.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -42,7 +42,7 @@
           <code class="computeroutput"><span class="identifier">xdigit</span></code>, etc.).
         </p>
 <a name="spirit.karma.reference.char.module_header"></a><h6>
-<a name="id897998"></a>
+<a name="id934190"></a>
           <a class="link" href="char.html#spirit.karma.reference.char.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_class.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <code class="computeroutput"><span class="identifier">digit</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.char.char_class.description"></a><h6>
-<a name="id902409"></a>
+<a name="id938601"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             such as forcing lower or upper case.
           </p>
 <a name="spirit.karma.reference.char.char_class.header"></a><h6>
-<a name="id902485"></a>
+<a name="id938677"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char_class.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.char.char_class.namespace"></a><h6>
-<a name="id902584"></a>
+<a name="id938776"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -132,7 +132,7 @@
             and will not compile if no attribute is associated.
           </p>
 <a name="spirit.karma.reference.char.char_class.model_of"></a><h6>
-<a name="id903008"></a>
+<a name="id939200"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.model_of">Model
             of</a>
           </h6>
@@ -150,7 +150,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.char.char_class.expression_semantics"></a><h6>
-<a name="id903086"></a>
+<a name="id939278"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -401,7 +401,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.char.char_class.attributes"></a><h6>
-<a name="id904281"></a>
+<a name="id940473"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -423,7 +423,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.char.char_class.complexity"></a><h6>
-<a name="id904442"></a>
+<a name="id940634"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -434,7 +434,7 @@
             per invocation.
           </p>
 <a name="spirit.karma.reference.char.char_class.example"></a><h6>
-<a name="id904473"></a>
+<a name="id940665"></a>
             <a class="link" href="char_class.html#spirit.karma.reference.char.char_class.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/char/char_generator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generators (<code class="computeroutput"><span class="identifier">char_</span></code>, <code class="computeroutput"><span class="identifier">lit</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.char.char_generator.description"></a><h6>
-<a name="id898132"></a>
+<a name="id934324"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.description">Description</a>
           </h6>
 <p>
@@ -45,7 +45,7 @@
             There are various forms of <code class="computeroutput"><span class="identifier">char_</span></code>.
           </p>
 <a name="spirit.karma.reference.char.char_generator.char_"></a><h6>
-<a name="id898205"></a>
+<a name="id934397"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.char_">char_</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <pre class="programlisting"><span class="identifier">char_</span> <span class="comment">// emits any character as supplied by the attribute
 </span></pre>
 <a name="spirit.karma.reference.char.char_generator.char__ch_"></a><h6>
-<a name="id898264"></a>
+<a name="id934456"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.char__ch_">char_(ch)</a>
           </h6>
 <p>
@@ -68,7 +68,7 @@
 </span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="comment">// emits x (a char)
 </span></pre>
 <a name="spirit.karma.reference.char.char_generator.char__first__last_"></a><h6>
-<a name="id898379"></a>
+<a name="id934570"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.char__first__last_">char_(first,
             last)</a>
           </h6>
@@ -120,7 +120,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.char.char_generator.char__def_"></a><h6>
-<a name="id898620"></a>
+<a name="id934812"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.char__def_">char_(def)</a>
           </h6>
 <p>
@@ -140,7 +140,7 @@
             by the attribute.
           </p>
 <a name="spirit.karma.reference.char.char_generator.lit_ch_"></a><h6>
-<a name="id898771"></a>
+<a name="id934963"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.lit_ch_">lit(ch)</a>
           </h6>
 <p>
@@ -180,7 +180,7 @@
 <span class="identifier">lit</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="comment">// c is a char
 </span></pre>
 <a name="spirit.karma.reference.char.char_generator.header"></a><h6>
-<a name="id899012"></a>
+<a name="id935204"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/char/char.hpp&gt;
@@ -190,7 +190,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.char.char_generator.namespace"></a><h6>
-<a name="id899111"></a>
+<a name="id935303"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -220,7 +220,7 @@
             Encoding Namespace</a>.
           </p>
 <a name="spirit.karma.reference.char.char_generator.model_of"></a><h6>
-<a name="id899254"></a>
+<a name="id935446"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.model_of">Model
             of</a>
           </h6>
@@ -259,7 +259,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.char.char_generator.expression_semantics"></a><h6>
-<a name="id899446"></a>
+<a name="id935638"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -509,7 +509,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.char.char_generator.attributes"></a><h6>
-<a name="id900421"></a>
+<a name="id936613"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -668,7 +668,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.char.char_generator.complexity"></a><h6>
-<a name="id901232"></a>
+<a name="id937424"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -691,7 +691,7 @@
             set, where N is the number of characters in the character set.
           </p>
 <a name="spirit.karma.reference.char.char_generator.example"></a><h6>
-<a name="id901467"></a>
+<a name="id937659"></a>
             <a class="link" href="char_generator.html#spirit.karma.reference.char.char_generator.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -56,7 +56,7 @@
           and attribute handling (<code class="computeroutput"><span class="identifier">duplicate</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>, and <code class="computeroutput"><span class="identifier">skip</span><span class="special">[]</span></code>).
         </p>
 <a name="spirit.karma.reference.directive.module_header"></a><h6>
-<a name="id905378"></a>
+<a name="id941570"></a>
           <a class="link" href="directive.html#spirit.karma.reference.directive.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/alignment.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator Directives (<code class="computeroutput"><span class="identifier">left_align</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">center</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">right_align</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.alignment.description"></a><h6>
-<a name="id905536"></a>
+<a name="id941728"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             an arbitrary generator to create the padding.
           </p>
 <a name="spirit.karma.reference.directive.alignment.header"></a><h6>
-<a name="id905561"></a>
+<a name="id941753"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.header">Header</a>
           </h6>
 <p>
@@ -65,7 +65,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.alignment.namespace"></a><h6>
-<a name="id905853"></a>
+<a name="id942045"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -97,7 +97,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.alignment.model_of"></a><h6>
-<a name="id906033"></a>
+<a name="id942225"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.model_of">Model
             of</a>
           </h6>
@@ -129,7 +129,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.alignment.expression_semantics"></a><h6>
-<a name="id906214"></a>
+<a name="id942405"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -411,7 +411,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.alignment.attributes"></a><h6>
-<a name="id907563"></a>
+<a name="id943755"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.attributes">Attributes</a>
           </h6>
 <p>
@@ -632,7 +632,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.alignment.complexity"></a><h6>
-<a name="id909717"></a>
+<a name="id945908"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -644,7 +644,7 @@
               of characters emitted by the embedded and padding generators.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.alignment.example"></a><h6>
-<a name="id909757"></a>
+<a name="id945949"></a>
             <a class="link" href="alignment.html#spirit.karma.reference.directive.alignment.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/buffer.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directive for Temporary Output Buffering (<code class="computeroutput"><span class="identifier">buffer</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.buffer.description"></a><h6>
-<a name="id919926"></a>
+<a name="id956118"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.description">Description</a>
           </h6>
 <p>
@@ -43,7 +43,7 @@
             discarded otherwise.
           </p>
 <a name="spirit.karma.reference.directive.buffer.header"></a><h6>
-<a name="id919972"></a>
+<a name="id956164"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/buffer.hpp&gt;
@@ -67,7 +67,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.buffer.model_of"></a><h6>
-<a name="id920142"></a>
+<a name="id956335"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.model_of">Model
             of</a>
           </h6>
@@ -88,7 +88,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.buffer.expression_semantics"></a><h6>
-<a name="id920243"></a>
+<a name="id956436"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -144,7 +144,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.buffer.attributes"></a><h6>
-<a name="id920459"></a>
+<a name="id956653"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.attributes">Attributes</a>
           </h6>
 <p>
@@ -186,7 +186,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.buffer.complexity"></a><h6>
-<a name="id920660"></a>
+<a name="id956854"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -196,7 +196,7 @@
               of characters buffered.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.buffer.example"></a><h6>
-<a name="id920689"></a>
+<a name="id956883"></a>
             <a class="link" href="buffer.html#spirit.karma.reference.directive.buffer.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/columns.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directive Separating Output Into Columns (<code class="computeroutput"><span class="identifier">columns</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.columns.description"></a><h6>
-<a name="id925148"></a>
+<a name="id961341"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             special column separators.
           </p>
 <a name="spirit.karma.reference.directive.columns.header"></a><h6>
-<a name="id925188"></a>
+<a name="id961381"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/columns.hpp&gt;
@@ -61,7 +61,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.columns.model_of"></a><h6>
-<a name="id925358"></a>
+<a name="id961551"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.model_of">Model
             of</a>
           </h6>
@@ -98,7 +98,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.columns.expression_semantics"></a><h6>
-<a name="id925515"></a>
+<a name="id961709"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -192,7 +192,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.columns.attributes"></a><h6>
-<a name="id925937"></a>
+<a name="id962130"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.attributes">Attributes</a>
           </h6>
 <p>
@@ -285,7 +285,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.columns.complexity"></a><h6>
-<a name="id926653"></a>
+<a name="id962847"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -296,7 +296,7 @@
               is the number of inserted column separators.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.columns.example"></a><h6>
-<a name="id926713"></a>
+<a name="id962907"></a>
             <a class="link" href="columns.html#spirit.karma.reference.directive.columns.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/delimit.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directives Controlling Automatic Delimiting (<code class="computeroutput"><span class="identifier">verbatim</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">no_delimit</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.delimit.description"></a><h6>
-<a name="id913570"></a>
+<a name="id949762"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             the directive <code class="computeroutput"><span class="identifier">delimit</span><span class="special">[]</span></code> (re-)enables automatic delimiting.
           </p>
 <a name="spirit.karma.reference.directive.delimit.header"></a><h6>
-<a name="id913685"></a>
+<a name="id949877"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.header">Header</a>
           </h6>
 <p>
@@ -65,7 +65,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.delimit.namespace"></a><h6>
-<a name="id913976"></a>
+<a name="id950168"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -97,7 +97,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.delimit.model_of"></a><h6>
-<a name="id914156"></a>
+<a name="id950348"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.model_of">Model
             of</a>
           </h6>
@@ -124,7 +124,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.delimit.expression_semantics"></a><h6>
-<a name="id914307"></a>
+<a name="id950498"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -218,7 +218,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.delimit.attributes"></a><h6>
-<a name="id914685"></a>
+<a name="id950876"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.attributes">Attributes</a>
           </h6>
 <p>
@@ -310,7 +310,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.delimit.complexity"></a><h6>
-<a name="id915357"></a>
+<a name="id951549"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -319,7 +319,7 @@
               O(1).
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.delimit.example"></a><h6>
-<a name="id915430"></a>
+<a name="id951622"></a>
             <a class="link" href="delimit.html#spirit.karma.reference.directive.delimit.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/duplicate.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directive Duplicating Attributes (<code class="computeroutput"><span class="identifier">duplicate</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.duplicate.description"></a><h6>
-<a name="id923686"></a>
+<a name="id959880"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             it does nothing.
           </p>
 <a name="spirit.karma.reference.directive.duplicate.header"></a><h6>
-<a name="id923726"></a>
+<a name="id959920"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/duplicate.hpp&gt;
@@ -61,7 +61,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.duplicate.model_of"></a><h6>
-<a name="id923896"></a>
+<a name="id960090"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.model_of">Model
             of</a>
           </h6>
@@ -82,7 +82,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.duplicate.expression_semantics"></a><h6>
-<a name="id923998"></a>
+<a name="id960191"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -125,7 +125,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.duplicate.attributes"></a><h6>
-<a name="id924126"></a>
+<a name="id960319"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.attributes">Attributes</a>
           </h6>
 <p>
@@ -177,7 +177,7 @@
             the corresponding expression will not compile.
           </p>
 <a name="spirit.karma.reference.directive.duplicate.complexity"></a><h6>
-<a name="id924464"></a>
+<a name="id960657"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -185,7 +185,7 @@
               of the embedded generator.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.duplicate.example"></a><h6>
-<a name="id924507"></a>
+<a name="id960700"></a>
             <a class="link" href="duplicate.html#spirit.karma.reference.directive.duplicate.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/maxwidth.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directives Controlling the Maximum Field Width (<code class="computeroutput"><span class="identifier">maxwidth</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.maxwidth.description"></a><h6>
-<a name="id918270"></a>
+<a name="id954463"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             generated by the embedded generator.
           </p>
 <a name="spirit.karma.reference.directive.maxwidth.header"></a><h6>
-<a name="id918311"></a>
+<a name="id954503"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/maxwidth.hpp&gt;
@@ -61,7 +61,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.maxwidth.model_of"></a><h6>
-<a name="id918481"></a>
+<a name="id954673"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.model_of">Model
             of</a>
           </h6>
@@ -87,7 +87,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.maxwidth.expression_semantics"></a><h6>
-<a name="id918612"></a>
+<a name="id954803"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -176,7 +176,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.maxwidth.attributes"></a><h6>
-<a name="id918949"></a>
+<a name="id955141"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.attributes">Attributes</a>
           </h6>
 <p>
@@ -236,7 +236,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.maxwidth.complexity"></a><h6>
-<a name="id919311"></a>
+<a name="id955503"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -246,7 +246,7 @@
               of characters generated by the maxwidth directive.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.maxwidth.example"></a><h6>
-<a name="id919365"></a>
+<a name="id955557"></a>
             <a class="link" href="maxwidth.html#spirit.karma.reference.directive.maxwidth.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/omit.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directives Consuming Attributes (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code> and <code class="computeroutput"><span class="identifier">skip</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.omit.description"></a><h6>
-<a name="id921438"></a>
+<a name="id957632"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             to extract the exposed attribute type.
           </p>
 <a name="spirit.karma.reference.directive.omit.header"></a><h6>
-<a name="id921524"></a>
+<a name="id957718"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/omit.hpp&gt;
@@ -73,7 +73,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.omit.model_of"></a><h6>
-<a name="id921738"></a>
+<a name="id957932"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.model_of">Model
             of</a>
           </h6>
@@ -94,7 +94,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.omit.expression_semantics"></a><h6>
-<a name="id921840"></a>
+<a name="id958034"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -152,7 +152,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.omit.attributes"></a><h6>
-<a name="id922040"></a>
+<a name="id958233"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.attributes">Attributes</a>
           </h6>
 <p>
@@ -212,7 +212,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.omit.complexity"></a><h6>
-<a name="id922376"></a>
+<a name="id958570"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -221,7 +221,7 @@
               generator directive is O(1) as it does not generate any output.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.omit.example"></a><h6>
-<a name="id922435"></a>
+<a name="id958629"></a>
             <a class="link" href="omit.html#spirit.karma.reference.directive.omit.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/repeat.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator Directive (<code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.repeat.description"></a><h6>
-<a name="id910622"></a>
+<a name="id946813"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.description">Description</a>
           </h6>
 <p>
@@ -52,7 +52,7 @@
               </li>
 </ul></div>
 <a name="spirit.karma.reference.directive.repeat.header"></a><h6>
-<a name="id910705"></a>
+<a name="id946897"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/repeat.hpp&gt;
@@ -62,7 +62,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.repeat.namespace"></a><h6>
-<a name="id910805"></a>
+<a name="id946997"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -88,7 +88,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.repeat.model_of"></a><h6>
-<a name="id910940"></a>
+<a name="id947132"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.model_of">Model
             of</a>
           </h6>
@@ -116,7 +116,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.repeat.expression_semantics"></a><h6>
-<a name="id911082"></a>
+<a name="id947274"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -235,7 +235,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.repeat.attributes"></a><h6>
-<a name="id911620"></a>
+<a name="id947812"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.attributes">Attributes</a>
           </h6>
 <p>
@@ -383,7 +383,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.repeat.complexity"></a><h6>
-<a name="id912687"></a>
+<a name="id948879"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -392,7 +392,7 @@
               itself is O(N), where N is the number of repetitions to execute.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.repeat.example"></a><h6>
-<a name="id912716"></a>
+<a name="id948908"></a>
             <a class="link" href="repeat.html#spirit.karma.reference.directive.repeat.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/directive/upperlower.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Directives Controlling Case Sensitivity (<code class="computeroutput"><span class="identifier">upper</span><span class="special">[]</span></code>, <code class="computeroutput"><span class="identifier">lower</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.directive.upperlower.description"></a><h6>
-<a name="id916118"></a>
+<a name="id952310"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             Encoding Namespace</a>).
           </p>
 <a name="spirit.karma.reference.directive.upperlower.header"></a><h6>
-<a name="id916210"></a>
+<a name="id952402"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/directive/upper_lower_case.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.directive.upperlower.namespace"></a><h6>
-<a name="id916309"></a>
+<a name="id952501"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -77,7 +77,7 @@
             Encoding Namespace</a>.
           </p>
 <a name="spirit.karma.reference.directive.upperlower.model_of"></a><h6>
-<a name="id916436"></a>
+<a name="id952627"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.model_of">Model
             of</a>
           </h6>
@@ -103,7 +103,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.directive.upperlower.expression_semantics"></a><h6>
-<a name="id916580"></a>
+<a name="id952772"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -215,7 +215,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.directive.upperlower.attributes"></a><h6>
-<a name="id917334"></a>
+<a name="id953526"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.attributes">Attributes</a>
           </h6>
 <p>
@@ -275,7 +275,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.directive.upperlower.complexity"></a><h6>
-<a name="id917724"></a>
+<a name="id953915"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -284,7 +284,7 @@
               directives, having no impact on runtime performance.
             </p></blockquote></div>
 <a name="spirit.karma.reference.directive.upperlower.example"></a><h6>
-<a name="id917799"></a>
+<a name="id953991"></a>
             <a class="link" href="upperlower.html#spirit.karma.reference.directive.upperlower.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/create_generator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           for Automatic Generator Creation</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generate_api.create_generator.description"></a><h6>
-<a name="id877391"></a>
+<a name="id913579"></a>
             <a class="link" href="create_generator.html#spirit.karma.reference.generate_api.create_generator.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             generator can be utilized to emit output for the provided attribute.
           </p>
 <a name="spirit.karma.reference.generate_api.create_generator.header"></a><h6>
-<a name="id877419"></a>
+<a name="id913607"></a>
             <a class="link" href="create_generator.html#spirit.karma.reference.generate_api.create_generator.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/auto.hpp&gt;
@@ -49,7 +49,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.generate_api.create_generator.namespace"></a><h6>
-<a name="id877518"></a>
+<a name="id913707"></a>
             <a class="link" href="create_generator.html#spirit.karma.reference.generate_api.create_generator.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -73,7 +73,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generate_api.create_generator.synopsis"></a><h6>
-<a name="id877660"></a>
+<a name="id913848"></a>
             <a class="link" href="create_generator.html#spirit.karma.reference.generate_api.create_generator.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">spirit</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">karma</span>
@@ -295,7 +295,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.generate_api.create_generator.template_parameters"></a><h6>
-<a name="id878860"></a>
+<a name="id915048"></a>
             <a class="link" href="create_generator.html#spirit.karma.reference.generate_api.create_generator.template_parameters">Template
             parameters</a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/iterator_api.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Based Generator API</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generate_api.iterator_api.description"></a><h6>
-<a name="id872344"></a>
+<a name="id908533"></a>
             <a class="link" href="iterator_api.html#spirit.karma.reference.generate_api.iterator_api.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             reference that hold the attribute values to output.
           </p>
 <a name="spirit.karma.reference.generate_api.iterator_api.header"></a><h6>
-<a name="id872394"></a>
+<a name="id908583"></a>
             <a class="link" href="iterator_api.html#spirit.karma.reference.generate_api.iterator_api.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/generate.hpp&gt;
@@ -73,7 +73,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.generate_api.iterator_api.namespace"></a><h6>
-<a name="id872673"></a>
+<a name="id908861"></a>
             <a class="link" href="iterator_api.html#spirit.karma.reference.generate_api.iterator_api.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -107,7 +107,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generate_api.iterator_api.synopsis"></a><h6>
-<a name="id872926"></a>
+<a name="id909115"></a>
             <a class="link" href="iterator_api.html#spirit.karma.reference.generate_api.iterator_api.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">spirit</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">karma</span>
@@ -208,7 +208,7 @@
             by using the other version of that function while passing <code class="computeroutput"><span class="identifier">delimit_flag</span><span class="special">::</span><span class="identifier">predelimit</span></code> to the corresponding argument.
           </p>
 <a name="spirit.karma.reference.generate_api.iterator_api.template_parameters"></a><h6>
-<a name="id874735"></a>
+<a name="id910923"></a>
             <a class="link" href="iterator_api.html#spirit.karma.reference.generate_api.iterator_api.template_parameters">Template
             parameters</a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generate_api/stream_api.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Based Generator API</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generate_api.stream_api.description"></a><h6>
-<a name="id874978"></a>
+<a name="id911166"></a>
             <a class="link" href="stream_api.html#spirit.karma.reference.generate_api.stream_api.description">Description</a>
           </h6>
 <p>
@@ -43,7 +43,7 @@
             reference that hold the attribute values to output.
           </p>
 <a name="spirit.karma.reference.generate_api.stream_api.header"></a><h6>
-<a name="id875038"></a>
+<a name="id911226"></a>
             <a class="link" href="stream_api.html#spirit.karma.reference.generate_api.stream_api.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/stream/format_manip.hpp&gt;
@@ -75,7 +75,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.generate_api.stream_api.namespace"></a><h6>
-<a name="id875317"></a>
+<a name="id911505"></a>
             <a class="link" href="stream_api.html#spirit.karma.reference.generate_api.stream_api.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -109,7 +109,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generate_api.stream_api.synopsis"></a><h6>
-<a name="id875570"></a>
+<a name="id911759"></a>
             <a class="link" href="stream_api.html#spirit.karma.reference.generate_api.stream_api.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">spirit</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">karma</span>
@@ -204,7 +204,7 @@
             by using the other version of that manipulator while passing <code class="computeroutput"><span class="identifier">delimit_flag</span><span class="special">::</span><span class="identifier">predelimit</span></code> to the corresponding argument.
           </p>
 <a name="spirit.karma.reference.generate_api.stream_api.template_parameters"></a><h6>
-<a name="id877191"></a>
+<a name="id913379"></a>
             <a class="link" href="stream_api.html#spirit.karma.reference.generate_api.stream_api.template_parameters">Template
             parameters</a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/binarygenerator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.generator_concepts.binarygenerator"></a><a class="link" href="binarygenerator.html" title="BinaryGenerator">BinaryGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.description"></a><h6>
-<a name="id865276"></a>
+<a name="id901464"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             Design Pattern.
           </p>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.refinement_of"></a><h6>
-<a name="id865343"></a>
+<a name="id901531"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -60,7 +60,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions"></a><h6>
-<a name="id865434"></a>
+<a name="id901623"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -129,7 +129,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.type_expressions"></a><h6>
-<a name="id865630"></a>
+<a name="id901819"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -194,7 +194,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.invariants"></a><h6>
-<a name="id865868"></a>
+<a name="id902057"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -210,7 +210,7 @@
               </li>
 </ul></div>
 <a name="spirit.karma.reference.generator_concepts.binarygenerator.models"></a><h6>
-<a name="id866051"></a>
+<a name="id902240"></a>
             <a class="link" href="binarygenerator.html#spirit.karma.reference.generator_concepts.binarygenerator.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/generator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.generator_concepts.generator"></a><a class="link" href="generator.html" title="Generator">Generator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.generator.description"></a><h6>
-<a name="id862718"></a>
+<a name="id898907"></a>
             <a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.description">Description</a>
           </h6>
 <p>
@@ -81,7 +81,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.generator.valid_expressions"></a><h6>
-<a name="id863044"></a>
+<a name="id899232"></a>
             <a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -164,7 +164,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.generator.type_expressions"></a><h6>
-<a name="id863373"></a>
+<a name="id899561"></a>
             <a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -231,7 +231,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.generator.postcondition"></a><h6>
-<a name="id863699"></a>
+<a name="id899888"></a>
             <a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.postcondition">Postcondition</a>
           </h6>
 <p>
@@ -253,7 +253,7 @@
               </li>
 </ul></div>
 <a name="spirit.karma.reference.generator_concepts.generator.models"></a><h6>
-<a name="id863800"></a>
+<a name="id899989"></a>
             <a class="link" href="generator.html#spirit.karma.reference.generator_concepts.generator.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/narygenerator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.generator_concepts.narygenerator"></a><a class="link" href="narygenerator.html" title="NaryGenerator">NaryGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.description"></a><h6>
-<a name="id866128"></a>
+<a name="id902317"></a>
             <a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             Design Pattern.
           </p>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.refinement_of"></a><h6>
-<a name="id866174"></a>
+<a name="id902362"></a>
             <a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -58,7 +58,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.valid_expressions"></a><h6>
-<a name="id866265"></a>
+<a name="id902454"></a>
             <a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -109,7 +109,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.type_expressions"></a><h6>
-<a name="id866412"></a>
+<a name="id902600"></a>
             <a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -162,7 +162,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.invariants"></a><h6>
-<a name="id866614"></a>
+<a name="id902802"></a>
             <a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -174,7 +174,7 @@
                 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
               </li></ul></div>
 <a name="spirit.karma.reference.generator_concepts.narygenerator.models"></a><h6>
-<a name="id866726"></a>
+<a name="id902914"></a>
             <a class="link" href="narygenerator.html#spirit.karma.reference.generator_concepts.narygenerator.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/nonterminal.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.generator_concepts.nonterminal"></a><a class="link" href="nonterminal.html" title="Nonterminal">Nonterminal</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.description"></a><h6>
-<a name="id866827"></a>
+<a name="id903015"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             in recursive descent generation.
           </p>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.refinement_of"></a><h6>
-<a name="id866861"></a>
+<a name="id903049"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.refinement_of">Refinement
             of</a>
           </h6>
@@ -46,7 +46,7 @@
               <a class="link" href="generator.html" title="Generator"><code class="computeroutput"><span class="identifier">Generator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.signature"></a><h6>
-<a name="id866904"></a>
+<a name="id903092"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.signature">Signature</a>
           </h6>
 <p>
@@ -63,7 +63,7 @@
             inherited attributes.
           </p>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.attributes"></a><h6>
-<a name="id867028"></a>
+<a name="id903216"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.attributes">Attributes</a>
           </h6>
 <p>
@@ -76,7 +76,7 @@
 <pre class="programlisting"><span class="identifier">r</span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span> <span class="comment">// Evaluate expr at parse time and pass the result to the Nonterminal r
 </span></pre>
 <a name="spirit.karma.reference.generator_concepts.nonterminal._code__phrase_role__identifier___val__phrase___code_"></a><h6>
-<a name="id867094"></a>
+<a name="id903282"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal._code__phrase_role__identifier___val__phrase___code_"><code class="computeroutput"><span class="identifier">_val</span></code></a>
           </h6>
 <p>
@@ -86,7 +86,7 @@
             reference to the Nonterminal's attribute.
           </p>
 <a name="spirit.karma.reference.generator_concepts.nonterminal._code__phrase_role__identifier___r1__phrase___code_____code__phrase_role__identifier__r10__phrase___code_"></a><h6>
-<a name="id867192"></a>
+<a name="id903380"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal._code__phrase_role__identifier___r1__phrase___code_____code__phrase_role__identifier__r10__phrase___code_"><code class="computeroutput"><span class="identifier">_r1</span></code>...<code class="computeroutput"><span class="identifier">r10</span></code></a>
           </h6>
 <p>
@@ -96,7 +96,7 @@
             refer to the Nonterminal's inherited attributes.
           </p>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.locals"></a><h6>
-<a name="id867305"></a>
+<a name="id903493"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.locals">Locals</a>
           </h6>
 <p>
@@ -168,7 +168,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.valid_expressions"></a><h6>
-<a name="id867935"></a>
+<a name="id904123"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -274,7 +274,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.type_expressions"></a><h6>
-<a name="id868314"></a>
+<a name="id904502"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.type_expressions">Type
             Expressions</a>
           </h6>
@@ -329,7 +329,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.nonterminal.models"></a><h6>
-<a name="id868476"></a>
+<a name="id904664"></a>
             <a class="link" href="nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.models">Models</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/primitivegenerator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator"></a><a class="link" href="primitivegenerator.html" title="PrimitiveGenerator">PrimitiveGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.description"></a><h6>
-<a name="id863849"></a>
+<a name="id900037"></a>
             <a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.description">Description</a>
           </h6>
 <p>
@@ -35,7 +35,7 @@
             that the client uses to build more complex generators.
           </p>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of"></a><h6>
-<a name="id863877"></a>
+<a name="id900066"></a>
             <a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -43,7 +43,7 @@
               <a class="link" href="generator.html" title="Generator"><code class="computeroutput"><span class="identifier">Generator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit"></a><h6>
-<a name="id863920"></a>
+<a name="id900109"></a>
             <a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.post_delimit">Post-delimit</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <pre class="programlisting"><span class="identifier">karma</span><span class="special">::</span><span class="identifier">delimit_out</span><span class="special">(</span><span class="identifier">sink</span><span class="special">,</span> <span class="identifier">delimit</span><span class="special">);</span>
 </pre>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions"></a><h6>
-<a name="id864022"></a>
+<a name="id900211"></a>
             <a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -95,7 +95,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.primitivegenerator.models"></a><h6>
-<a name="id864188"></a>
+<a name="id900376"></a>
             <a class="link" href="primitivegenerator.html#spirit.karma.reference.generator_concepts.primitivegenerator.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/generator_concepts/unarygenerator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.reference.generator_concepts.unarygenerator"></a><a class="link" href="unarygenerator.html" title="UnaryGenerator">UnaryGenerator</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.description"></a><h6>
-<a name="id864316"></a>
+<a name="id900504"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             following the Delegate Design Pattern.
           </p>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.refinement_of"></a><h6>
-<a name="id864345"></a>
+<a name="id900534"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.refinement_of">Refinement
             of</a>
           </h6>
@@ -57,7 +57,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions"></a><h6>
-<a name="id864436"></a>
+<a name="id900625"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -107,7 +107,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.type_expressions"></a><h6>
-<a name="id864575"></a>
+<a name="id900764"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.type_expressions">Type
             Expressions</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.invariants"></a><h6>
-<a name="id864778"></a>
+<a name="id900966"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.invariants">Invariants</a>
           </h6>
 <p>
@@ -171,7 +171,7 @@
                 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_generator</span><span class="special">&lt;</span><span class="identifier">G</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
               </li></ul></div>
 <a name="spirit.karma.reference.generator_concepts.unarygenerator.models"></a><h6>
-<a name="id864888"></a>
+<a name="id901077"></a>
             <a class="link" href="unarygenerator.html#spirit.karma.reference.generator_concepts.unarygenerator.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -33,7 +33,7 @@
           Grammar</a></span></dt>
 </dl></div>
 <a name="spirit.karma.reference.nonterminal.module_headers"></a><h6>
-<a name="id927457"></a>
+<a name="id963651"></a>
           <a class="link" href="nonterminal.html#spirit.karma.reference.nonterminal.module_headers">Module
           Headers</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/grammar.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Grammar</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.nonterminal.grammar.description"></a><h6>
-<a name="id929969"></a>
+<a name="id966162"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             Grammars can be composed to form more complex grammars.
           </p>
 <a name="spirit.karma.reference.nonterminal.grammar.header"></a><h6>
-<a name="id930018"></a>
+<a name="id966212"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/nonterminal/grammar.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.nonterminal.grammar.namespace"></a><h6>
-<a name="id930118"></a>
+<a name="id966311"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -65,14 +65,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.nonterminal.grammar.synopsis"></a><h6>
-<a name="id930212"></a>
+<a name="id966405"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.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">OutputIterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A3</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">grammar</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.nonterminal.grammar.template_parameters"></a><h6>
-<a name="id930327"></a>
+<a name="id966520"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.template_parameters">Template
             parameters</a>
           </h6>
@@ -227,7 +227,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.nonterminal.grammar.model_of"></a><h6>
-<a name="id930768"></a>
+<a name="id966962"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.model_of">Model
             of</a>
           </h6>
@@ -244,7 +244,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.nonterminal.grammar.expression_semantics"></a><h6>
-<a name="id930838"></a>
+<a name="id967032"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -311,7 +311,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.nonterminal.grammar.attributes"></a><h6>
-<a name="id931215"></a>
+<a name="id967408"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -319,14 +319,14 @@
               its consumed attribute. See <a class="link" href="../generator_concepts/nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.attributes"><code class="computeroutput"><span class="identifier">Attribute</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.nonterminal.grammar.complexity"></a><h6>
-<a name="id931268"></a>
+<a name="id967462"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               The complexity is defined by the complexity of the its definition.
             </p></blockquote></div>
 <a name="spirit.karma.reference.nonterminal.grammar.example"></a><h6>
-<a name="id931296"></a>
+<a name="id967489"></a>
             <a class="link" href="grammar.html#spirit.karma.reference.nonterminal.grammar.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/nonterminal/rule.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Rule</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.nonterminal.rule.description"></a><h6>
-<a name="id927570"></a>
+<a name="id963764"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             descent output generation.
           </p>
 <a name="spirit.karma.reference.nonterminal.rule.header"></a><h6>
-<a name="id927605"></a>
+<a name="id963798"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/nonterminal/rule.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.nonterminal.rule.namespace"></a><h6>
-<a name="id927704"></a>
+<a name="id963897"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -68,14 +68,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.nonterminal.rule.synopsis"></a><h6>
-<a name="id927798"></a>
+<a name="id963992"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.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">OutputIterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A3</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">rule</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.nonterminal.rule.template_parameters"></a><h6>
-<a name="id927914"></a>
+<a name="id964107"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.template_parameters">Template
             parameters</a>
           </h6>
@@ -230,7 +230,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.nonterminal.rule.model_of"></a><h6>
-<a name="id928355"></a>
+<a name="id964549"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.model_of">Model
             of</a>
           </h6>
@@ -262,7 +262,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.nonterminal.rule.expression_semantics"></a><h6>
-<a name="id928552"></a>
+<a name="id964745"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -393,7 +393,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.nonterminal.rule.attributes"></a><h6>
-<a name="id929156"></a>
+<a name="id965350"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -401,7 +401,7 @@
               The consumed attribute of the rule. See <a class="link" href="../generator_concepts/nonterminal.html#spirit.karma.reference.generator_concepts.nonterminal.attributes"><code class="computeroutput"><span class="identifier">Attribute</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.nonterminal.rule.complexity"></a><h6>
-<a name="id929210"></a>
+<a name="id965404"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -409,7 +409,7 @@
               <code class="computeroutput"><span class="identifier">g</span></code>
             </p></blockquote></div>
 <a name="spirit.karma.reference.nonterminal.rule.example"></a><h6>
-<a name="id929248"></a>
+<a name="id965441"></a>
             <a class="link" href="rule.html#spirit.karma.reference.nonterminal.rule.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -58,7 +58,7 @@
           tight generic C++ code that rivals, if not surpasses C.
         </p>
 <a name="spirit.karma.reference.numeric.module_header"></a><h6>
-<a name="id932183"></a>
+<a name="id968376"></a>
           <a class="link" href="numeric.html#spirit.karma.reference.numeric.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/boolean.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">bool_</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.boolean.description"></a><h6>
-<a name="id949036"></a>
+<a name="id985230"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.description">Description</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
             a template class. Template parameters fine tune its behavior.
           </p>
 <a name="spirit.karma.reference.numeric.boolean.header"></a><h6>
-<a name="id949098"></a>
+<a name="id985292"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/bool.hpp&gt;
@@ -52,7 +52,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.boolean.namespace"></a><h6>
-<a name="id949182"></a>
+<a name="id985376"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -105,7 +105,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.boolean.synopsis"></a><h6>
-<a name="id949411"></a>
+<a name="id985605"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
@@ -114,7 +114,7 @@
 <span class="keyword">struct</span> <span class="identifier">bool_generator</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.numeric.boolean.template_parameters"></a><h6>
-<a name="id949487"></a>
+<a name="id985681"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.template_parameters">Template
             parameters</a>
           </h6>
@@ -179,7 +179,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.boolean.model_of"></a><h6>
-<a name="id949634"></a>
+<a name="id985828"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.model_of">Model
             of</a>
           </h6>
@@ -203,7 +203,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.boolean.expression_semantics"></a><h6>
-<a name="id949741"></a>
+<a name="id985935"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -397,7 +397,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.boolean.additional_requirements"></a><h6>
-<a name="id950371"></a>
+<a name="id986564"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -413,7 +413,7 @@
                 must be (safely) convertible to <code class="computeroutput"><span class="keyword">bool</span></code>
               </li></ul></div>
 <a name="spirit.karma.reference.numeric.boolean.attributes"></a><h6>
-<a name="id950459"></a>
+<a name="id986652"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -528,7 +528,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.boolean.boolean_formatting_policies"></a><h6>
-<a name="id950870"></a>
+<a name="id987063"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.boolean_formatting_policies">Boolean
             Formatting Policies</a>
           </h6>
@@ -562,7 +562,7 @@
             default for <code class="computeroutput"><span class="identifier">B</span></code> is <code class="computeroutput"><span class="keyword">bool</span></code>.
           </p>
 <a name="spirit.karma.reference.numeric.boolean.boolean_formatting_policy_expression_semantics"></a><h6>
-<a name="id951346"></a>
+<a name="id987540"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.boolean_formatting_policy_expression_semantics">Boolean
             Formatting Policy Expression Semantics</a>
           </h6>
@@ -713,7 +713,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.boolean.complexity"></a><h6>
-<a name="id952232"></a>
+<a name="id988426"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -721,7 +721,7 @@
               number of characters needed to represent the generated boolean.
             </p></blockquote></div>
 <a name="spirit.karma.reference.numeric.boolean.example"></a><h6>
-<a name="id952262"></a>
+<a name="id988456"></a>
             <a class="link" href="boolean.html#spirit.karma.reference.numeric.boolean.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/real_number.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <code class="computeroutput"><span class="identifier">double_</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.real_number.description"></a><h6>
-<a name="id940574"></a>
+<a name="id976768"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.description">Description</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
             requirements (for more information about the requirements, see <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.additional_requirements">below</a>).
           </p>
 <a name="spirit.karma.reference.numeric.real_number.header"></a><h6>
-<a name="id940642"></a>
+<a name="id976835"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/real.hpp&gt;
@@ -52,7 +52,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.real_number.namespace"></a><h6>
-<a name="id940741"></a>
+<a name="id976935"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -105,14 +105,14 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.real_number.synopsis"></a><h6>
-<a name="id940997"></a>
+<a name="id977191"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.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">Num</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RealPolicies</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">real_generator</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.numeric.real_number.template_parameters"></a><h6>
-<a name="id941081"></a>
+<a name="id977275"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.template_parameters">Template
             parameters</a>
           </h6>
@@ -181,7 +181,7 @@
             see <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.real_number_formatting_policies">below</a>.
           </p>
 <a name="spirit.karma.reference.numeric.real_number.model_of"></a><h6>
-<a name="id941268"></a>
+<a name="id977461"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.model_of">Model
             of</a>
           </h6>
@@ -205,7 +205,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.real_number.expression_semantics"></a><h6>
-<a name="id941388"></a>
+<a name="id977581"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -378,7 +378,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.real_number.additional_requirements"></a><h6>
-<a name="id942145"></a>
+<a name="id978338"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -417,7 +417,7 @@
               </li>
 </ul></div>
 <a name="spirit.karma.reference.numeric.real_number.attributes"></a><h6>
-<a name="id942574"></a>
+<a name="id978768"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -588,7 +588,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.real_number.real_number_formatting_policies"></a><h6>
-<a name="id943246"></a>
+<a name="id979439"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.real_number_formatting_policies">Real
             Number Formatting Policies</a>
           </h6>
@@ -620,7 +620,7 @@
             will be used as the attribute type of the created real number generator.
           </p>
 <a name="spirit.karma.reference.numeric.real_number.real_number_formatting_policy_expression_semantics"></a><h6>
-<a name="id943691"></a>
+<a name="id979884"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.real_number_formatting_policy_expression_semantics">Real
             Number Formatting Policy Expression Semantics</a>
           </h6>
@@ -1139,7 +1139,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.real_number.complexity"></a><h6>
-<a name="id645497"></a>
+<a name="id672981"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -1147,7 +1147,7 @@
               number of digits needed to represent the generated real number.
             </p></blockquote></div>
 <a name="spirit.karma.reference.numeric.real_number.example"></a><h6>
-<a name="id645530"></a>
+<a name="id673014"></a>
             <a class="link" href="real_number.html#spirit.karma.reference.numeric.real_number.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/signed_int.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           etc.)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.signed_int.description"></a><h6>
-<a name="id936500"></a>
+<a name="id972694"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.description">Description</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
             see <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.additional_requirements">below</a>).
           </p>
 <a name="spirit.karma.reference.numeric.signed_int.header"></a><h6>
-<a name="id936605"></a>
+<a name="id972798"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/int.hpp&gt;
@@ -58,7 +58,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.signed_int.namespace"></a><h6>
-<a name="id936704"></a>
+<a name="id972897"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -130,7 +130,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.signed_int.synopsis"></a><h6>
-<a name="id937073"></a>
+<a name="id973267"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
@@ -140,7 +140,7 @@
 <span class="keyword">struct</span> <span class="identifier">int_generator</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.numeric.signed_int.template_parameters"></a><h6>
-<a name="id937176"></a>
+<a name="id973370"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.template_parameters">Template
             parameters</a>
           </h6>
@@ -224,7 +224,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.signed_int.model_of"></a><h6>
-<a name="id937371"></a>
+<a name="id973565"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.model_of">Model
             of</a>
           </h6>
@@ -262,7 +262,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.signed_int.expression_semantics"></a><h6>
-<a name="id937604"></a>
+<a name="id973798"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -443,7 +443,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.signed_int.additional_requirements"></a><h6>
-<a name="id938421"></a>
+<a name="id974615"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -498,7 +498,7 @@
               </li>
 </ul></div>
 <a name="spirit.karma.reference.numeric.signed_int.attributes"></a><h6>
-<a name="id939048"></a>
+<a name="id975241"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -697,7 +697,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.signed_int.complexity"></a><h6>
-<a name="id939838"></a>
+<a name="id976031"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -705,7 +705,7 @@
               number of digits needed to represent the generated integer number
             </p></blockquote></div>
 <a name="spirit.karma.reference.numeric.signed_int.example"></a><h6>
-<a name="id939876"></a>
+<a name="id976069"></a>
             <a class="link" href="signed_int.html#spirit.karma.reference.numeric.signed_int.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/numeric/unsigned_int.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           etc.)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.description"></a><h6>
-<a name="id932308"></a>
+<a name="id968502"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.description">Description</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
             a template class. Template parameters fine tune its behavior.
           </p>
 <a name="spirit.karma.reference.numeric.unsigned_int.header"></a><h6>
-<a name="id932388"></a>
+<a name="id968581"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/numeric/uint.hpp&gt;
@@ -54,7 +54,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.numeric.unsigned_int.namespace"></a><h6>
-<a name="id932487"></a>
+<a name="id968680"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -145,7 +145,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.synopsis"></a><h6>
-<a name="id932993"></a>
+<a name="id969187"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
@@ -154,7 +154,7 @@
 <span class="keyword">struct</span> <span class="identifier">uint_generator</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.numeric.unsigned_int.template_parameters"></a><h6>
-<a name="id933080"></a>
+<a name="id969273"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.template_parameters">Template
             parameters</a>
           </h6>
@@ -220,7 +220,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.model_of"></a><h6>
-<a name="id933226"></a>
+<a name="id969419"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.model_of">Model
             of</a>
           </h6>
@@ -252,7 +252,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.numeric.unsigned_int.expression_semantics"></a><h6>
-<a name="id933416"></a>
+<a name="id969609"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -298,9 +298,9 @@
                     <p>
                       
 </p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort</span>
-<span class="identifier">uint</span>
-<span class="identifier">ulong</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort_</span>
+<span class="identifier">uint_</span>
+<span class="identifier">ulong_</span>
 <span class="identifier">ulong_long</span></pre>
 <p>
                     </p>
@@ -319,9 +319,9 @@
                     <p>
                       
 </p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
-<span class="identifier">uint</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
-<span class="identifier">ulong</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">uint_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">ulong_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
 <span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></pre>
 <p>
                     </p>
@@ -461,7 +461,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.additional_requirements"></a><h6>
-<a name="id934234"></a>
+<a name="id970427"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -513,7 +513,7 @@
               </li>
 </ul></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.attributes"></a><h6>
-<a name="id934811"></a>
+<a name="id971004"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -549,7 +549,7 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ushort</span></code>
+ <code class="computeroutput"><span class="identifier">ushort_</span></code>
                     </p>
                   </td>
 <td>
@@ -562,7 +562,7 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ushort</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">ushort_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
                     </p>
                   </td>
 <td>
@@ -577,7 +577,7 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">uint</span></code>
+ <code class="computeroutput"><span class="identifier">uint_</span></code>
                     </p>
                   </td>
 <td>
@@ -590,7 +590,7 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">uint</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">uint_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
                     </p>
                   </td>
 <td>
@@ -605,7 +605,7 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ulong</span></code>
+ <code class="computeroutput"><span class="identifier">ulong_</span></code>
                     </p>
                   </td>
 <td>
@@ -618,7 +618,7 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ulong</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">ulong_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span></code>
                     </p>
                   </td>
 <td>
@@ -752,7 +752,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.complexity"></a><h6>
-<a name="id935784"></a>
+<a name="id971978"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -760,7 +760,7 @@
               number of digits needed to represent the generated integer number
             </p></blockquote></div>
 <a name="spirit.karma.reference.numeric.unsigned_int.example"></a><h6>
-<a name="id935822"></a>
+<a name="id972016"></a>
             <a class="link" href="unsigned_int.html#spirit.karma.reference.numeric.unsigned_int.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -71,7 +71,7 @@
           and the <span class="emphasis"><em>not</em></span> predicate (unary <code class="computeroutput"><span class="special">!</span></code>).
         </p>
 <a name="spirit.karma.reference.operator.module_header"></a><h6>
-<a name="id953029"></a>
+<a name="id989217"></a>
           <a class="link" href="operator.html#spirit.karma.reference.operator.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/alternative.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.alternative.description"></a><h6>
-<a name="id955075"></a>
+<a name="id991252"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             from left to right until one of them succeeds.
           </p>
 <a name="spirit.karma.reference.operator.alternative.header"></a><h6>
-<a name="id955101"></a>
+<a name="id991277"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/alternative.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.alternative.model_of"></a><h6>
-<a name="id955200"></a>
+<a name="id991377"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.model_of">Model
             of</a>
           </h6>
@@ -56,7 +56,7 @@
               <a class="link" href="../generator_concepts/narygenerator.html" title="NaryGenerator"><code class="computeroutput"><span class="identifier">NaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.alternative.expression_semantics"></a><h6>
-<a name="id955242"></a>
+<a name="id991419"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -108,7 +108,7 @@
             an element succeeded.
           </p>
 <a name="spirit.karma.reference.operator.alternative.attributes"></a><h6>
-<a name="id955384"></a>
+<a name="id991560"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.attributes">Attributes</a>
           </h6>
 <p>
@@ -175,7 +175,7 @@
             an example of this behavior.
           </p>
 <a name="spirit.karma.reference.operator.alternative.complexity"></a><h6>
-<a name="id956005"></a>
+<a name="id992182"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -184,7 +184,7 @@
               itself is O(N), where N is the number of elements in the alternative.
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.alternative.example"></a><h6>
-<a name="id956034"></a>
+<a name="id992211"></a>
             <a class="link" href="alternative.html#spirit.karma.reference.operator.alternative.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/and_predicate.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator (<code class="computeroutput"><span class="special">&amp;</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.and_predicate.description"></a><h6>
-<a name="id962607"></a>
+<a name="id998789"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             succeeds.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.header"></a><h6>
-<a name="id962633"></a>
+<a name="id998815"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/and_predicate.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.model_of"></a><h6>
-<a name="id962731"></a>
+<a name="id998914"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.model_of">Model
             of</a>
           </h6>
@@ -55,7 +55,7 @@
               <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.and_predicate.expression_semantics"></a><h6>
-<a name="id962773"></a>
+<a name="id998955"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -102,7 +102,7 @@
             its embedded generator into a discarding device.
           </p>
 <a name="spirit.karma.reference.operator.and_predicate.attributes"></a><h6>
-<a name="id962896"></a>
+<a name="id999078"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.attributes">Attributes</a>
           </h6>
 <p>
@@ -155,7 +155,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.and_predicate.complexity"></a><h6>
-<a name="id963068"></a>
+<a name="id999251"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -164,7 +164,7 @@
               generator itself is O(1).
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.and_predicate.example"></a><h6>
-<a name="id963098"></a>
+<a name="id999280"></a>
             <a class="link" href="and_predicate.html#spirit.karma.reference.operator.and_predicate.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/kleene.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator (<code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.kleene.description"></a><h6>
-<a name="id956881"></a>
+<a name="id993058"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             generator, the Kleene star generator always succeeds.
           </p>
 <a name="spirit.karma.reference.operator.kleene.header"></a><h6>
-<a name="id956907"></a>
+<a name="id993083"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/kleene.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.kleene.model_of"></a><h6>
-<a name="id957005"></a>
+<a name="id993181"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.model_of">Model
             of</a>
           </h6>
@@ -55,7 +55,7 @@
               <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.kleene.expression_semantics"></a><h6>
-<a name="id957046"></a>
+<a name="id993222"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -109,7 +109,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.kleene.attributes"></a><h6>
-<a name="id957182"></a>
+<a name="id993359"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.attributes">Attributes</a>
           </h6>
 <p>
@@ -212,7 +212,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.kleene.complexity"></a><h6>
-<a name="id957604"></a>
+<a name="id993781"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -222,7 +222,7 @@
               N is the number of elements in the container passed as its attribute.
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.kleene.example"></a><h6>
-<a name="id957633"></a>
+<a name="id993812"></a>
             <a class="link" href="kleene.html#spirit.karma.reference.operator.kleene.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/list.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.list.description"></a><h6>
-<a name="id959784"></a>
+<a name="id995962"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             at least once.
           </p>
 <a name="spirit.karma.reference.operator.list.header"></a><h6>
-<a name="id959809"></a>
+<a name="id995988"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/list.hpp&gt;
@@ -49,14 +49,14 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.list.model_of"></a><h6>
-<a name="id959908"></a>
+<a name="id996087"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               <a class="link" href="../generator_concepts/binarygenerator.html" title="BinaryGenerator"><code class="computeroutput"><span class="identifier">BinaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.list.expression_semantics"></a><h6>
-<a name="id959949"></a>
+<a name="id996128"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -123,7 +123,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.list.attributes"></a><h6>
-<a name="id960212"></a>
+<a name="id996391"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.attributes">Attributes</a>
           </h6>
 <p>
@@ -213,7 +213,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.list.complexity"></a><h6>
-<a name="id960629"></a>
+<a name="id996809"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -223,7 +223,7 @@
               number of elements in the container passed as its attribute.
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.list.example"></a><h6>
-<a name="id960659"></a>
+<a name="id996841"></a>
             <a class="link" href="list.html#spirit.karma.reference.operator.list.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/not_predicate.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator (<code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.not_predicate.description"></a><h6>
-<a name="id963968"></a>
+<a name="id1000150"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             fails.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.header"></a><h6>
-<a name="id963994"></a>
+<a name="id1000176"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/not_predicate.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.model_of"></a><h6>
-<a name="id964093"></a>
+<a name="id1000275"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.model_of">Model
             of</a>
           </h6>
@@ -55,7 +55,7 @@
               <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.not_predicate.expression_semantics"></a><h6>
-<a name="id964133"></a>
+<a name="id1000316"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -102,7 +102,7 @@
             its embedded generator into a discarding device.
           </p>
 <a name="spirit.karma.reference.operator.not_predicate.attributes"></a><h6>
-<a name="id964256"></a>
+<a name="id1000439"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.attributes">Attributes</a>
           </h6>
 <p>
@@ -155,7 +155,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.not_predicate.complexity"></a><h6>
-<a name="id964428"></a>
+<a name="id1000611"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -164,7 +164,7 @@
               generator itself is O(1).
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.not_predicate.example"></a><h6>
-<a name="id964457"></a>
+<a name="id1000640"></a>
             <a class="link" href="not_predicate.html#spirit.karma.reference.operator.not_predicate.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/optional.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Generator (<code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.optional.description"></a><h6>
-<a name="id961267"></a>
+<a name="id997449"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             It succeeds always.
           </p>
 <a name="spirit.karma.reference.operator.optional.header"></a><h6>
-<a name="id961291"></a>
+<a name="id997473"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/optional.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.optional.model_of"></a><h6>
-<a name="id961390"></a>
+<a name="id997572"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.model_of">Model
             of</a>
           </h6>
@@ -54,7 +54,7 @@
               <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.optional.expression_semantics"></a><h6>
-<a name="id961432"></a>
+<a name="id997614"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -96,7 +96,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.operator.optional.attributes"></a><h6>
-<a name="id961549"></a>
+<a name="id997732"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.attributes">Attributes</a>
           </h6>
 <p>
@@ -183,7 +183,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.optional.complexity"></a><h6>
-<a name="id961931"></a>
+<a name="id998113"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -192,7 +192,7 @@
               generator itself is O(1).
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.optional.example"></a><h6>
-<a name="id961958"></a>
+<a name="id998141"></a>
             <a class="link" href="optional.html#spirit.karma.reference.operator.optional.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/plus.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="special">+</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.plus.description"></a><h6>
-<a name="id958264"></a>
+<a name="id994443"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             executed at least once.
           </p>
 <a name="spirit.karma.reference.operator.plus.header"></a><h6>
-<a name="id958289"></a>
+<a name="id994468"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/plus.hpp&gt;
@@ -47,14 +47,14 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.plus.model_of"></a><h6>
-<a name="id958388"></a>
+<a name="id994567"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               <a class="link" href="../generator_concepts/unarygenerator.html" title="UnaryGenerator"><code class="computeroutput"><span class="identifier">UnaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.plus.expression_semantics"></a><h6>
-<a name="id958430"></a>
+<a name="id994609"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -111,7 +111,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.plus.attributes"></a><h6>
-<a name="id958583"></a>
+<a name="id994762"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.attributes">Attributes</a>
           </h6>
 <p>
@@ -214,7 +214,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.plus.complexity"></a><h6>
-<a name="id959005"></a>
+<a name="id995184"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -224,7 +224,7 @@
               number of elements in the container passed as its attribute.
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.plus.example"></a><h6>
-<a name="id959034"></a>
+<a name="id995214"></a>
             <a class="link" href="plus.html#spirit.karma.reference.operator.plus.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/operator/sequence.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.operator.sequence.description"></a><h6>
-<a name="id953163"></a>
+<a name="id989340"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             to right as long as they succeed.
           </p>
 <a name="spirit.karma.reference.operator.sequence.header"></a><h6>
-<a name="id953188"></a>
+<a name="id989365"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/operator/sequence.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.operator.sequence.model_of"></a><h6>
-<a name="id953287"></a>
+<a name="id989463"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.model_of">Model
             of</a>
           </h6>
@@ -56,7 +56,7 @@
               <a class="link" href="../generator_concepts/narygenerator.html" title="NaryGenerator"><code class="computeroutput"><span class="identifier">NaryGenerator</span></code></a>
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.sequence.expression_semantics"></a><h6>
-<a name="id953328"></a>
+<a name="id989505"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -128,7 +128,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.karma.reference.operator.sequence.attributes"></a><h6>
-<a name="id953550"></a>
+<a name="id989726"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.attributes">Attributes</a>
           </h6>
 <p>
@@ -206,7 +206,7 @@
             the attribute supplied.
           </p>
 <a name="spirit.karma.reference.operator.sequence.complexity"></a><h6>
-<a name="id954536"></a>
+<a name="id990713"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -215,7 +215,7 @@
               itself is O(N), where N is the number of elements in the sequence.
             </p></blockquote></div>
 <a name="spirit.karma.reference.operator.sequence.example"></a><h6>
-<a name="id954565"></a>
+<a name="id990741"></a>
             <a class="link" href="sequence.html#spirit.karma.reference.operator.sequence.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/stream.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/stream.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/stream.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -35,7 +35,7 @@
           for output generation.
         </p>
 <a name="spirit.karma.reference.stream.header"></a><h6>
-<a name="id965367"></a>
+<a name="id1001550"></a>
           <a class="link" href="stream.html#spirit.karma.reference.stream.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/stream.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/stream/stream.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">stream</span></code>, <code class="computeroutput"><span class="identifier">wstream</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.stream.stream.description"></a><h6>
-<a name="id965501"></a>
+<a name="id1001684"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.description">Description</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
 <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">&amp;);</span>
 </pre>
 <a name="spirit.karma.reference.stream.stream.header"></a><h6>
-<a name="id965648"></a>
+<a name="id1001831"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/stream.hpp&gt;
@@ -54,7 +54,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.stream.stream.namespace"></a><h6>
-<a name="id965746"></a>
+<a name="id1001930"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -80,14 +80,14 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.stream.stream.synopsis"></a><h6>
-<a name="id965880"></a>
+<a name="id1002064"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Char</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">stream_generator</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.stream.stream.template_parameters"></a><h6>
-<a name="id965949"></a>
+<a name="id1002132"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.template_parameters">Template
             parameters</a>
           </h6>
@@ -135,7 +135,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.stream.stream.model_of"></a><h6>
-<a name="id966055"></a>
+<a name="id1002238"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -155,7 +155,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.stream.stream.expression_semantics"></a><h6>
-<a name="id966162"></a>
+<a name="id1002346"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -325,7 +325,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.stream.stream.additional_requirements"></a><h6>
-<a name="id966794"></a>
+<a name="id1002977"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -366,7 +366,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.stream.stream.attributes"></a><h6>
-<a name="id967100"></a>
+<a name="id1003284"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -491,14 +491,14 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.stream.stream.complexity"></a><h6>
-<a name="id967586"></a>
+<a name="id1003769"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of characters emitted by the stream generator
             </p></blockquote></div>
 <a name="spirit.karma.reference.stream.stream.example"></a><h6>
-<a name="id967613"></a>
+<a name="id1003796"></a>
             <a class="link" href="stream.html#spirit.karma.reference.stream.stream.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/string.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -39,7 +39,7 @@
           generator.
         </p>
 <a name="spirit.karma.reference.string.module_header"></a><h6>
-<a name="id968616"></a>
+<a name="id1004799"></a>
           <a class="link" href="string.html#spirit.karma.reference.string.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/string.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/string/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/string/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/string/string.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">string</span></code>, <code class="computeroutput"><span class="identifier">lit</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.string.string.description"></a><h6>
-<a name="id968750"></a>
+<a name="id1004933"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.description">Description</a>
           </h6>
 <p>
@@ -59,7 +59,7 @@
 <span class="identifier">lit</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span> <span class="comment">// s is a std::string
 </span></pre>
 <a name="spirit.karma.reference.string.string.header"></a><h6>
-<a name="id969054"></a>
+<a name="id1005237"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/string/lit.hpp&gt;
@@ -69,7 +69,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.string.string.namespace"></a><h6>
-<a name="id969151"></a>
+<a name="id1005335"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -99,7 +99,7 @@
             Encoding Namespace</a> used by the corresponding string generator.
           </p>
 <a name="spirit.karma.reference.string.string.model_of"></a><h6>
-<a name="id969294"></a>
+<a name="id1005478"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -127,7 +127,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.string.string.expression_semantics"></a><h6>
-<a name="id969433"></a>
+<a name="id1005616"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -242,7 +242,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.string.string.attributes"></a><h6>
-<a name="id969874"></a>
+<a name="id1006057"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -331,14 +331,14 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.karma.reference.string.string.complexity"></a><h6>
-<a name="id970241"></a>
+<a name="id1006424"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of characters emitted by the string generator
             </p></blockquote></div>
 <a name="spirit.karma.reference.string.string.example"></a><h6>
-<a name="id970268"></a>
+<a name="id1006452"></a>
             <a class="link" href="string.html#spirit.karma.reference.string.string.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/reference/string/symbols.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">symbols</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.karma.reference.string.symbols.description"></a><h6>
-<a name="id971089"></a>
+<a name="id1007274"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.description">Description</a>
           </h6>
 <p>
@@ -47,7 +47,7 @@
             added, thus, dynamically altering its behavior.
           </p>
 <a name="spirit.karma.reference.string.symbols.header"></a><h6>
-<a name="id971147"></a>
+<a name="id1007328"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/karma/string/symbols.hpp&gt;
@@ -57,7 +57,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.karma.reference.string.symbols.namespace"></a><h6>
-<a name="id971245"></a>
+<a name="id1007426"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -74,7 +74,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.karma.reference.string.symbols.synopsis"></a><h6>
-<a name="id971339"></a>
+<a name="id1007520"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">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">Lookup</span>
@@ -82,7 +82,7 @@
 <span class="keyword">struct</span> <span class="identifier">symbols</span><span class="special">;</span>
 </pre>
 <a name="spirit.karma.reference.string.symbols.template_parameters"></a><h6>
-<a name="id971472"></a>
+<a name="id1007652"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.template_parameters">Template
             parameters</a>
           </h6>
@@ -205,7 +205,7 @@
 </tbody>
 </table></div>
 <a name="spirit.karma.reference.string.symbols.model_of"></a><h6>
-<a name="id971830"></a>
+<a name="id1008011"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.model_of">Model
             of</a>
           </h6>
@@ -262,7 +262,7 @@
 </dl>
 </div>
 <a name="spirit.karma.reference.string.symbols.expression_semantics"></a><h6>
-<a name="id972212"></a>
+<a name="id1008393"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -517,7 +517,7 @@
             not emitting anything.
           </p>
 <a name="spirit.karma.reference.string.symbols.attributes"></a><h6>
-<a name="id973625"></a>
+<a name="id1009806"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.attributes">Attributes</a>
           </h6>
 <p>
@@ -577,7 +577,7 @@
 </span><span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">test</span><span class="special">(</span><span class="string">"J"</span><span class="special">,</span> <span class="identifier">sym</span><span class="special">,</span> <span class="identifier">make_vector</span><span class="special">(</span><span class="char">'j'</span><span class="special">,</span> <span class="char">'J'</span><span class="special">)));</span>
 </pre>
 <a name="spirit.karma.reference.string.symbols.complexity"></a><h6>
-<a name="id974209"></a>
+<a name="id1010390"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.complexity">Complexity</a>
           </h6>
 <p>
@@ -590,7 +590,7 @@
             Where n is the number of stored symbols.
           </p>
 <a name="spirit.karma.reference.string.symbols.example"></a><h6>
-<a name="id974292"></a>
+<a name="id1010473"></a>
             <a class="link" href="symbols.html#spirit.karma.reference.string.symbols.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/karma/s05.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/s05.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/s05.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Karma Index</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../karma.html" title="Karma - Writing Generators">
 <link rel="prev" href="performance_measurements/numeric_performance/format_performance.html" title="Comparing the performance of a sequence of several generators">
@@ -24,7 +24,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id1206661"></a>Karma Index</h3></div></div></div>
+<a name="id1015412"></a>Karma Index</h3></div></div></div>
 <p><a class="link" href="s05.html#idx_id_22">A</a> <a class="link" href="s05.html#idx_id_23">B</a> <a class="link" href="s05.html#idx_id_24">C</a> <a class="link" href="s05.html#idx_id_25">D</a> <a class="link" href="s05.html#idx_id_26">E</a> <a class="link" href="s05.html#idx_id_27">F</a> <a class="link" href="s05.html#idx_id_28">G</a> <a class="link" href="s05.html#idx_id_29">H</a> <a class="link" href="s05.html#idx_id_30">I</a> <a class="link" href="s05.html#idx_id_31">K</a> <a class="link" href="s05.html#idx_id_32">L</a> <a class="link" href="s05.html#idx_id_33">M</a> <a class="link" href="s05.html#idx_id_34">N</a> <a class="link" href="s05.html#idx_id_35">O</a> <a class="link" href="s05.html#idx_id_36">P</a> <a class="link" href="s05.html#idx_id_37">Q</a> <a class="link" href="s05.html#idx_id_38">R</a> <a class="link" href="s05.html#idx_id_39">S</a> <a class="link" href="s05.html#idx_id_40">T</a> <a class="link" href="s05.html#idx_id_41">U</a> <a class="link" href="s05.html#idx_id_42">V</a> <a class="l
ink" href="s05.html#idx_id_43">W</a> <a class="link" href="s05.html#idx_id_44">X</a> </p>
 <div class="variablelist"><dl>
 <dt>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_adapted_complex.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -38,7 +38,7 @@
           macros.
         </p>
 <a name="spirit.karma.tutorials.karma_adapted_complex.adapting_a_class_as_a_fusion_sequence"></a><h6>
-<a name="id842692"></a>
+<a name="id878884"></a>
           <a class="link" href="karma_adapted_complex.html#spirit.karma.tutorials.karma_adapted_complex.adapting_a_class_as_a_fusion_sequence">Adapting
           a Class As a Fusion Sequence</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/karma_easier_complex.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -63,7 +63,7 @@
           Let's cover some basic library features first.
         </p>
 <a name="spirit.karma.tutorials.karma_easier_complex.making_numeric_generators_fail"></a><h6>
-<a name="id841195"></a>
+<a name="id877387"></a>
           <a class="link" href="karma_easier_complex.html#spirit.karma.tutorials.karma_easier_complex.making_numeric_generators_fail">Making
           Numeric Generators Fail</a>
         </h6>
@@ -113,7 +113,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.tutorials.karma_easier_complex.predicates___the_conditionals_for_output_generators"></a><h6>
-<a name="id841571"></a>
+<a name="id877763"></a>
           <a class="link" href="karma_easier_complex.html#spirit.karma.tutorials.karma_easier_complex.predicates___the_conditionals_for_output_generators">Predicates
           - The Conditionals for Output Generators</a>
         </h6>
@@ -164,7 +164,7 @@
           emitted by the generators to which they are applied.
         </p>
 <a name="spirit.karma.tutorials.karma_easier_complex.ignoring_supplied_attributes"></a><h6>
-<a name="id841893"></a>
+<a name="id878086"></a>
           <a class="link" href="karma_easier_complex.html#spirit.karma.tutorials.karma_easier_complex.ignoring_supplied_attributes">Ignoring
           Supplied Attributes</a>
         </h6>
@@ -191,7 +191,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.tutorials.karma_easier_complex.putting_everything_together"></a><h6>
-<a name="id842002"></a>
+<a name="id878195"></a>
           <a class="link" href="karma_easier_complex.html#spirit.karma.tutorials.karma_easier_complex.putting_everything_together">Putting
           everything together</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/num_list.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         Numbers From a std::vector</a>
 </h4></div></div></div>
 <a name="spirit.karma.tutorials.num_list.using_the_list_operator"></a><h6>
-<a name="id843708"></a>
+<a name="id879900"></a>
           <a class="link" href="num_list.html#spirit.karma.tutorials.num_list.using_the_list_operator">Using
           the List Operator</a>
         </h6>
@@ -102,7 +102,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.tutorials.num_list.generate_output_from_arbitrary_data"></a><h6>
-<a name="id844358"></a>
+<a name="id880551"></a>
           <a class="link" href="num_list.html#spirit.karma.tutorials.num_list.generate_output_from_arbitrary_data">Generate
           Output from Arbitrary Data</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/quick_start.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.karma.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
 </h4></div></div></div>
 <a name="spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_"></a><h6>
-<a name="id836175"></a>
+<a name="id872367"></a>
           <a class="link" href="quick_start.html#spirit.karma.tutorials.quick_start.spirit_karma___what_s_that_">Spirit.Karma
           - what's that?</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/semantic_actions.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -106,7 +106,7 @@
 <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Attrib</span><span class="special">&amp;,</span> <span class="identifier">Context</span><span class="special">&amp;,</span> <span class="keyword">bool</span><span class="special">&amp;);</span>
 </pre>
 <a name="spirit.karma.tutorials.semantic_actions.examples_of_semantic_actions"></a><h6>
-<a name="id838240"></a>
+<a name="id874433"></a>
           <a class="link" href="semantic_actions.html#spirit.karma.tutorials.semantic_actions.examples_of_semantic_actions">Examples
           of Semantic Actions</a>
         </h6>
@@ -258,7 +258,7 @@
           The examples above can be found here: actions.cpp
         </p>
 <a name="spirit.karma.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id839378"></a>
+<a name="id875570"></a>
           <a class="link" href="semantic_actions.html#spirit.karma.tutorials.semantic_actions.phoenix">Phoenix</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/karma/tutorials/warming_up.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -31,7 +31,7 @@
           We will start from trivial examples, ramping up as we go.
         </p>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number"></a><h6>
-<a name="id836388"></a>
+<a name="id872580"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__1_generating_a_number">Trivial
           Example #1 Generating a number</a>
         </h6>
@@ -51,7 +51,7 @@
           to a floating point generator or parser: <code class="computeroutput"><span class="identifier">double_</span></code>.
         </p>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers"></a><h6>
-<a name="id836451"></a>
+<a name="id872647"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__2_generating_two_numbers">Trivial
           Example #2 Generating two numbers</a>
         </h6>
@@ -89,7 +89,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers"></a><h6>
-<a name="id836579"></a>
+<a name="id872772"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__3_generating_one_or_more_numbers">Trivial
           Example #3 Generating one or more numbers</a>
         </h6>
@@ -114,7 +114,7 @@
           numbers, if needed.
         </p>
 <a name="spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id836649"></a>
+<a name="id872841"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.trivial_example__4_generating_a_comma_delimited_list_of_numbers">Trivial
           Example #4 Generating a comma-delimited list of numbers</a>
         </h6>
@@ -137,7 +137,7 @@
           in the generated output zero or more times.
         </p>
 <a name="spirit.karma.tutorials.warming_up.let_s_generate_"></a><h6>
-<a name="id836822"></a>
+<a name="id873015"></a>
           <a class="link" href="warming_up.html#spirit.karma.tutorials.warming_up.let_s_generate_">Let's
           Generate!</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../index.html" title="Spirit 2.4.2">
-<link rel="prev" href="karma/performance_measurements/numeric_performance/format_performance.html" title="Comparing the performance of a sequence of several generators">
+<link rel="prev" href="karma/s05.html" title="Karma Index">
 <link rel="next" href="lex/lexer_introduction.html" title="Introduction to Spirit.Lex">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="karma/performance_measurements/numeric_performance/format_performance.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lex/lexer_introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="karma/s05.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lex/lexer_introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -81,7 +81,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="karma/performance_measurements/numeric_performance/format_performance.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lex/lexer_introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="karma/s05.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lex/lexer_introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_primitives/lexer_token_values.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -50,7 +50,7 @@
             library.
           </p>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token"></a><h6>
-<a name="id989869"></a>
+<a name="id1028052"></a>
             <a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_anatomy_of_a_token">The
             Anatomy of a Token</a>
           </h6>
@@ -185,7 +185,7 @@
             time.
           </p>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition"></a><h6>
-<a name="id990574"></a>
+<a name="id1028757"></a>
             <a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.the_physiognomy_of_a_token_definition">The
             Physiognomy of a Token Definition</a>
           </h6>
@@ -257,7 +257,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__code__phrase_role__identifier__lex__phrase__phrase_role__special______phrase__phrase_role__identifier__lexertl__phrase__phrase_role__special______phrase__phrase_role__identifier__token__phrase__phrase_role__special___lt__gt___phrase___code_"></a><h6>
-<a name="id990912"></a>
+<a name="id1029095"></a>
             <a class="link" href="lexer_token_values.html#spirit.lex.abstracts.lexer_primitives.lexer_token_values.examples_of_using__code__phrase_role__identifier__lex__phrase__phrase_role__special______phrase__phrase_role__identifier__lexertl__phrase__phrase_role__special______phrase__phrase_role__identifier__token__phrase__phrase_role__special___lt__gt___phrase___code_">Examples
             of using <code class="computeroutput"><span class="identifier">lex</span><span class="special">::</span><span class="identifier">lexertl</span><span class="special">::</span><span class="identifier">token</span><span class="special">&lt;&gt;</span></code></a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_semantic_actions.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -120,7 +120,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action"></a><h6>
-<a name="id995203"></a>
+<a name="id1033386"></a>
           <a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.the_context_of_a_lexer_semantic_action">The
           context of a lexer semantic action</a>
         </h6>
@@ -254,7 +254,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix"></a><h6>
-<a name="id995887"></a>
+<a name="id1034070"></a>
           <a class="link" href="lexer_semantic_actions.html#spirit.lex.abstracts.lexer_semantic_actions.lexer_semantic_actions_using_phoenix">Lexer
           Semantic Actions Using Phoenix</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_static_model.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -163,7 +163,7 @@
 <p>
         </p>
 <a name="spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer"></a><h6>
-<a name="id998109"></a>
+<a name="id1036295"></a>
           <a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.generating_the_static_analyzer">Generating
           the Static Analyzer</a>
         </h6>
@@ -222,7 +222,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer"></a><h6>
-<a name="id998551"></a>
+<a name="id1036737"></a>
           <a class="link" href="lexer_static_model.html#spirit.lex.abstracts.lexer_static_model.modifying_the_dynamic_analyzer">Modifying
           the Dynamic Analyzer</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/abstracts/lexer_tokenizing.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         Data</a>
 </h4></div></div></div>
 <a name="spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function"></a><h6>
-<a name="id991639"></a>
+<a name="id1029823"></a>
           <a class="link" href="lexer_tokenizing.html#spirit.lex.abstracts.lexer_tokenizing.the_tokenize_function">The
           tokenize function</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/lexer_introduction.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -56,7 +56,7 @@
           </li>
 </ul></div>
 <a name="spirit.lex.lexer_introduction.why_use_a_separate_lexer_"></a><h5>
-<a name="id979316"></a>
+<a name="id1017493"></a>
         <a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.why_use_a_separate_lexer_">Why
         Use a Separate Lexer?</a>
       </h5>
@@ -154,7 +154,7 @@
         to use the provided functionality to build more complex grammar recognizers.
       </p>
 <a name="spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id979616"></a>
+<a name="id1017786"></a>
         <a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.advantages_of_using__emphasis_spirit_lex__emphasis_">Advantages
         of using <span class="emphasis"><em>Spirit.Lex</em></span></a>
       </h5>
@@ -201,7 +201,7 @@
         This dynamic flexibility allows you to speed up the development of your application.
       </p>
 <a name="spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_"></a><h5>
-<a name="id979764"></a>
+<a name="id1017934"></a>
         <a class="link" href="lexer_introduction.html#spirit.lex.lexer_introduction.the_library_structure_of__emphasis_spirit_lex__emphasis_">The
         Library Structure of <span class="emphasis"><em>Spirit.Lex</em></span></a>
       </h5>

Modified: trunk/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/quick_reference/lexer.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -638,7 +638,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.lex.quick_reference.lexer.regular_expression_precedence"></a><h6>
-<a name="id1004149"></a>
+<a name="id1042331"></a>
           <a class="link" href="lexer.html#spirit.lex.quick_reference.lexer.regular_expression_precedence">Regular
           Expression Precedence</a>
         </h6>
@@ -657,7 +657,7 @@
             </li>
 </ul></div>
 <a name="spirit.lex.quick_reference.lexer.macros"></a><h6>
-<a name="id1004295"></a>
+<a name="id1042477"></a>
           <a class="link" href="lexer.html#spirit.lex.quick_reference.lexer.macros">Macros</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lex_basics.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.lex.reference.lex_basics"></a><a class="link" href="lex_basics.html" title="Basics">Basics</a>
 </h4></div></div></div>
 <a name="spirit.lex.reference.lex_basics.examples"></a><h6>
-<a name="id1006985"></a>
+<a name="id1045167"></a>
           <a class="link" href="lex_basics.html#spirit.lex.reference.lex_basics.examples">Examples</a>
         </h6>
 <p>
@@ -56,7 +56,7 @@
           This one tests token definitions.
         </p>
 <a name="spirit.lex.reference.lex_basics.models"></a><h6>
-<a name="id1007242"></a>
+<a name="id1045424"></a>
           <a class="link" href="lex_basics.html#spirit.lex.reference.lex_basics.models">Models</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_api.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.lex.reference.lexer_api"></a><a class="link" href="lexer_api.html" title="Lexer API">Lexer API</a>
 </h4></div></div></div>
 <a name="spirit.lex.reference.lexer_api.description"></a><h6>
-<a name="id1007370"></a>
+<a name="id1045552"></a>
           <a class="link" href="lexer_api.html#spirit.lex.reference.lexer_api.description">Description</a>
         </h6>
 <p>
@@ -41,7 +41,7 @@
           the parsed values on a successful parse.
         </p>
 <a name="spirit.lex.reference.lexer_api.header"></a><h6>
-<a name="id1007429"></a>
+<a name="id1045612"></a>
           <a class="link" href="lexer_api.html#spirit.lex.reference.lexer_api.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/lex/tokenize_and_parse.hpp&gt;
@@ -64,7 +64,7 @@
           Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
 <a name="spirit.lex.reference.lexer_api.namespace"></a><h6>
-<a name="id1007614"></a>
+<a name="id1045796"></a>
           <a class="link" href="lexer_api.html#spirit.lex.reference.lexer_api.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -103,7 +103,7 @@
 </tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_api.synopsis"></a><h6>
-<a name="id1007912"></a>
+<a name="id1046094"></a>
           <a class="link" href="lexer_api.html#spirit.lex.reference.lexer_api.synopsis">Synopsis</a>
         </h6>
 <p>
@@ -264,7 +264,7 @@
           to the corresponding argument.
         </p>
 <a name="spirit.lex.reference.lexer_api.template_parameters"></a><h6>
-<a name="id1010133"></a>
+<a name="id1048316"></a>
           <a class="link" href="lexer_api.html#spirit.lex.reference.lexer_api.template_parameters">Template
           parameters</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/lexer.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.lex.reference.lexer_concepts.lexer"></a><a class="link" href="lexer.html" title="Lexer">Lexer</a>
 </h5></div></div></div>
 <a name="spirit.lex.reference.lexer_concepts.lexer.description"></a><h6>
-<a name="id1004468"></a>
+<a name="id1042650"></a>
             <a class="link" href="lexer.html#spirit.lex.reference.lexer_concepts.lexer.description">Description</a>
           </h6>
 <p>
@@ -65,7 +65,7 @@
 </dl>
 </div>
 <a name="spirit.lex.reference.lexer_concepts.lexer.valid_expressions"></a><h6>
-<a name="id1004676"></a>
+<a name="id1042858"></a>
             <a class="link" href="lexer.html#spirit.lex.reference.lexer_concepts.lexer.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -147,7 +147,7 @@
 </tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.lexer.type_expressions"></a><h6>
-<a name="id1004964"></a>
+<a name="id1043146"></a>
             <a class="link" href="lexer.html#spirit.lex.reference.lexer_concepts.lexer.type_expressions">Type
             Expressions</a>
           </h6>
@@ -186,7 +186,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.lexer.postcondition"></a><h6>
-<a name="id1005129"></a>
+<a name="id1043311"></a>
             <a class="link" href="lexer.html#spirit.lex.reference.lexer_concepts.lexer.postcondition">Postcondition</a>
           </h6>
 <p>
@@ -210,7 +210,7 @@
                 inside <code class="computeroutput"><span class="identifier">l</span></code>.
               </li></ul></div>
 <a name="spirit.lex.reference.lexer_concepts.lexer.models"></a><h6>
-<a name="id1005281"></a>
+<a name="id1043463"></a>
             <a class="link" href="lexer.html#spirit.lex.reference.lexer_concepts.lexer.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/narylexer.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.lex.reference.lexer_concepts.narylexer"></a><a class="link" href="narylexer.html" title="NaryLexer">NaryLexer</a>
 </h5></div></div></div>
 <a name="spirit.lex.reference.lexer_concepts.narylexer.description"></a><h6>
-<a name="id1006332"></a>
+<a name="id1044514"></a>
             <a class="link" href="narylexer.html#spirit.lex.reference.lexer_concepts.narylexer.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             Design Pattern.
           </p>
 <a name="spirit.lex.reference.lexer_concepts.narylexer.refinement_of"></a><h6>
-<a name="id1006377"></a>
+<a name="id1044560"></a>
             <a class="link" href="narylexer.html#spirit.lex.reference.lexer_concepts.narylexer.refinement_of">Refinement
             of</a>
           </h6>
@@ -58,7 +58,7 @@
 </dl>
 </div>
 <a name="spirit.lex.reference.lexer_concepts.narylexer.valid_expressions"></a><h6>
-<a name="id1006468"></a>
+<a name="id1044650"></a>
             <a class="link" href="narylexer.html#spirit.lex.reference.lexer_concepts.narylexer.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -109,7 +109,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.narylexer.type_expressions"></a><h6>
-<a name="id1006613"></a>
+<a name="id1044795"></a>
             <a class="link" href="narylexer.html#spirit.lex.reference.lexer_concepts.narylexer.type_expressions">Type
             Expressions</a>
           </h6>
@@ -162,7 +162,7 @@
 </tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.narylexer.invariants"></a><h6>
-<a name="id1006813"></a>
+<a name="id1044995"></a>
             <a class="link" href="narylexer.html#spirit.lex.reference.lexer_concepts.narylexer.invariants">Invariants</a>
           </h6>
 <p>
@@ -174,7 +174,7 @@
                 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_lexer</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
               </li></ul></div>
 <a name="spirit.lex.reference.lexer_concepts.narylexer.models"></a><h6>
-<a name="id1006925"></a>
+<a name="id1045107"></a>
             <a class="link" href="narylexer.html#spirit.lex.reference.lexer_concepts.narylexer.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/primitivelexer.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.lex.reference.lexer_concepts.primitivelexer"></a><a class="link" href="primitivelexer.html" title="PrimitiveLexer">PrimitiveLexer</a>
 </h5></div></div></div>
 <a name="spirit.lex.reference.lexer_concepts.primitivelexer.description"></a><h6>
-<a name="id1005329"></a>
+<a name="id1043511"></a>
             <a class="link" href="primitivelexer.html#spirit.lex.reference.lexer_concepts.primitivelexer.description">Description</a>
           </h6>
 <p>
@@ -35,7 +35,7 @@
             that the client uses to build more complex lexer components.
           </p>
 <a name="spirit.lex.reference.lexer_concepts.primitivelexer.refinement_of"></a><h6>
-<a name="id1005358"></a>
+<a name="id1043540"></a>
             <a class="link" href="primitivelexer.html#spirit.lex.reference.lexer_concepts.primitivelexer.refinement_of">Refinement
             of</a>
           </h6>
@@ -43,7 +43,7 @@
               <a class="link" href="lexer.html" title="Lexer"><code class="computeroutput"><span class="identifier">Lexer</span></code></a>
             </p></blockquote></div>
 <a name="spirit.lex.reference.lexer_concepts.primitivelexer.type_expressions"></a><h6>
-<a name="id1005400"></a>
+<a name="id1043582"></a>
             <a class="link" href="primitivelexer.html#spirit.lex.reference.lexer_concepts.primitivelexer.type_expressions">Type
             Expressions</a>
           </h6>
@@ -82,7 +82,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.primitivelexer.models"></a><h6>
-<a name="id1005564"></a>
+<a name="id1043747"></a>
             <a class="link" href="primitivelexer.html#spirit.lex.reference.lexer_concepts.primitivelexer.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/lexer_concepts/unarylexer.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.lex.reference.lexer_concepts.unarylexer"></a><a class="link" href="unarylexer.html" title="UnaryLexer">UnaryLexer</a>
 </h5></div></div></div>
 <a name="spirit.lex.reference.lexer_concepts.unarylexer.description"></a><h6>
-<a name="id1005701"></a>
+<a name="id1043883"></a>
             <a class="link" href="unarylexer.html#spirit.lex.reference.lexer_concepts.unarylexer.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             following the Delegate Design Pattern.
           </p>
 <a name="spirit.lex.reference.lexer_concepts.unarylexer.refinement_of"></a><h6>
-<a name="id1005730"></a>
+<a name="id1043912"></a>
             <a class="link" href="unarylexer.html#spirit.lex.reference.lexer_concepts.unarylexer.refinement_of">Refinement
             of</a>
           </h6>
@@ -57,7 +57,7 @@
 </dl>
 </div>
 <a name="spirit.lex.reference.lexer_concepts.unarylexer.valid_expressions"></a><h6>
-<a name="id1005822"></a>
+<a name="id1044004"></a>
             <a class="link" href="unarylexer.html#spirit.lex.reference.lexer_concepts.unarylexer.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -107,7 +107,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.unarylexer.type_expressions"></a><h6>
-<a name="id1005960"></a>
+<a name="id1044142"></a>
             <a class="link" href="unarylexer.html#spirit.lex.reference.lexer_concepts.unarylexer.type_expressions">Type
             Expressions</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.lex.reference.lexer_concepts.unarylexer.invariants"></a><h6>
-<a name="id1006161"></a>
+<a name="id1044343"></a>
             <a class="link" href="unarylexer.html#spirit.lex.reference.lexer_concepts.unarylexer.invariants">Invariants</a>
           </h6>
 <p>
@@ -171,7 +171,7 @@
                 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_lexer</span><span class="special">&lt;</span><span class="identifier">L</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
               </li></ul></div>
 <a name="spirit.lex.reference.lexer_concepts.unarylexer.models"></a><h6>
-<a name="id1006270"></a>
+<a name="id1044453"></a>
             <a class="link" href="unarylexer.html#spirit.lex.reference.lexer_concepts.unarylexer.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/primitives.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/primitives.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/primitives.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -35,7 +35,7 @@
           and string literals.
         </p>
 <a name="spirit.lex.reference.primitives.module_headers"></a><h6>
-<a name="id1010426"></a>
+<a name="id1048608"></a>
           <a class="link" href="primitives.html#spirit.lex.reference.primitives.module_headers">Module Headers</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/lex/primitives.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/reference/primitives/char_tokendef.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Matching Single Characters</a>
 </h5></div></div></div>
 <a name="spirit.lex.reference.primitives.char_tokendef.description"></a><h6>
-<a name="id1010540"></a>
+<a name="id1048722"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.description">Description</a>
           </h6>
 <p>
@@ -42,11 +42,11 @@
             forcing lower or upper case and dealing with character ranges.
           </p>
 <a name="spirit.lex.reference.primitives.char_tokendef.header"></a><h6>
-<a name="id1010601"></a>
+<a name="id1048783"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.header">Header</a>
           </h6>
 <a name="spirit.lex.reference.primitives.char_tokendef.module_headers"></a><h6>
-<a name="id1010621"></a>
+<a name="id1048803"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.module_headers">Module
             Headers</a>
           </h6>
@@ -57,7 +57,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.lex.reference.primitives.char_tokendef.namespace"></a><h6>
-<a name="id1010721"></a>
+<a name="id1048902"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -82,7 +82,7 @@
 </tbody>
 </table></div>
 <a name="spirit.lex.reference.primitives.char_tokendef.model_of"></a><h6>
-<a name="id1010840"></a>
+<a name="id1049022"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.model_of">Model
             of</a>
           </h6>
@@ -100,7 +100,7 @@
 </dl>
 </div>
 <a name="spirit.lex.reference.primitives.char_tokendef.expression_semantics"></a><h6>
-<a name="id1010921"></a>
+<a name="id1049103"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -165,7 +165,7 @@
 </tbody>
 </table></div>
 <a name="spirit.lex.reference.primitives.char_tokendef.example"></a><h6>
-<a name="id1011142"></a>
+<a name="id1049325"></a>
             <a class="link" href="char_tokendef.html#spirit.lex.reference.primitives.char_tokendef.example">Example</a>
           </h6>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart1.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -39,7 +39,7 @@
           (for the full example code see here: word_count_functor.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.prerequisites"></a><h6>
-<a name="id980123"></a>
+<a name="id1018294"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -70,7 +70,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.defining_tokens"></a><h6>
-<a name="id980430"></a>
+<a name="id1018600"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.defining_tokens">Defining
           Tokens</a>
         </h6>
@@ -118,7 +118,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work"></a><h6>
-<a name="id980858"></a>
+<a name="id1019029"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.doing_the_useful_work">Doing
           the Useful Work</a>
         </h6>
@@ -176,7 +176,7 @@
           as well.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together"></a><h6>
-<a name="id981489"></a>
+<a name="id1019659"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.pulling_everything_together">Pulling
           Everything Together</a>
         </h6>
@@ -223,7 +223,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_"></a><h6>
-<a name="id982515"></a>
+<a name="id1020686"></a>
           <a class="link" href="lexer_quickstart1.html#spirit.lex.tutorials.lexer_quickstart1.comparing__emphasis_spirit_lex__emphasis__with__ulink_url__http___flex_sourceforge_net___flex__ulink_">Comparing
           <span class="emphasis"><em>Spirit.Lex</em></span> with Flex</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart2.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -40,7 +40,7 @@
           options along the lines (for the full example code see here: word_count_lexer.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.prerequisites"></a><h6>
-<a name="id983446"></a>
+<a name="id1021617"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -101,7 +101,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_"></a><h6>
-<a name="id984202"></a>
+<a name="id1022373"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.semantic_actions_in__emphasis_spirit_lex__emphasis_">Semantic
           Actions in <span class="emphasis"><em>Spirit.Lex</em></span></a>
         </h6>
@@ -156,7 +156,7 @@
           Semantic Actions</a>.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer"></a><h6>
-<a name="id984976"></a>
+<a name="id1023147"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.associating_token_definitions_with_the_lexer">Associating
           Token Definitions with the Lexer</a>
         </h6>
@@ -193,7 +193,7 @@
           with the constant defined by <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">lex</span><span class="special">::</span><span class="identifier">min_token_id</span></code>.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together"></a><h6>
-<a name="id985358"></a>
+<a name="id1023529"></a>
           <a class="link" href="lexer_quickstart2.html#spirit.lex.tutorials.lexer_quickstart2.pulling_everything_together">Pulling
           everything together</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html (original)
+++ trunk/libs/spirit/doc/html/spirit/lex/tutorials/lexer_quickstart3.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -65,7 +65,7 @@
           code see here: word_count.cpp).
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.prerequisites"></a><h6>
-<a name="id986635"></a>
+<a name="id1024811"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.prerequisites">Prerequisites</a>
         </h6>
 <p>
@@ -105,7 +105,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.defining_tokens"></a><h6>
-<a name="id987086"></a>
+<a name="id1025261"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.defining_tokens">Defining
           Tokens</a>
         </h6>
@@ -154,7 +154,7 @@
 <p>
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers"></a><h6>
-<a name="id987518"></a>
+<a name="id1025693"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.using_token_definition_instances_as_parsers">Using
           Token Definition Instances as Parsers</a>
         </h6>
@@ -303,7 +303,7 @@
           <span class="identifier">size</span><span class="special">(</span><span class="identifier">_1</span><span class="special">)</span></code>.
         </p>
 <a name="spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together"></a><h6>
-<a name="id988604"></a>
+<a name="id1026779"></a>
           <a class="link" href="lexer_quickstart3.html#spirit.lex.tutorials.lexer_quickstart3.pulling_everything_together">Pulling
           Everything Together</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html (original)
+++ trunk/libs/spirit/doc/html/spirit/notes/porting_from_spirit_1_8_x.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -41,7 +41,7 @@
         <a href="http://boost-spirit.com" target="_top">Spirit</a>.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.include_files"></a><h5>
-<a name="id1068397"></a>
+<a name="id1107244"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.include_files">Include
         Files</a>
       </h5>
@@ -223,7 +223,7 @@
 </tbody>
 </table></div>
 <a name="spirit.notes.porting_from_spirit_1_8_x.the_free_parse_functions"></a><h5>
-<a name="id1069164"></a>
+<a name="id1108012"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.the_free_parse_functions">The
         Free Parse Functions</a>
       </h5>
@@ -382,7 +382,7 @@
         Encoding Namespace</a> for more information.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.naming_conventions"></a><h5>
-<a name="id1071838"></a>
+<a name="id1110685"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.naming_conventions">Naming
         Conventions</a>
       </h5>
@@ -402,7 +402,7 @@
         parser primitives, directives and operators.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.parser_attributes"></a><h5>
-<a name="id1071937"></a>
+<a name="id1110785"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.parser_attributes">Parser
         Attributes</a>
       </h5>
@@ -420,7 +420,7 @@
         underlying matched input sequence.
       </p>
 <a name="spirit.notes.porting_from_spirit_1_8_x.grammars_and_rules"></a><h5>
-<a name="id1072032"></a>
+<a name="id1110879"></a>
         <a class="link" href="porting_from_spirit_1_8_x.html#spirit.notes.porting_from_spirit_1_8_x.grammars_and_rules">Grammars
         and Rules</a>
       </h5>

Modified: trunk/libs/spirit/doc/html/spirit/preface.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/preface.html (original)
+++ trunk/libs/spirit/doc/html/spirit/preface.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -35,11 +35,11 @@
         <span class="bold"><strong>--Bjarne Stroustrup</strong></span>
       </p></blockquote></div>
 <a name="spirit.preface.history"></a><h4>
-<a name="id646134"></a>
+<a name="id673625"></a>
       <a class="link" href="preface.html#spirit.preface.history">History</a>
     </h4>
 <a name="spirit.preface._emphasis_80s__emphasis_"></a><h4>
-<a name="id646152"></a>
+<a name="id672559"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_80s__emphasis_"><span class="emphasis"><em>80s</em></span></a>
     </h4>
 <p>
@@ -53,7 +53,7 @@
       This process worked very well.
     </p>
 <a name="spirit.preface._emphasis_90s__emphasis_"></a><h4>
-<a name="id645110"></a>
+<a name="id672587"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_90s__emphasis_"><span class="emphasis"><em>90s</em></span></a>
     </h4>
 <p>
@@ -90,7 +90,7 @@
       here: pre-Spirit.
     </p>
 <a name="spirit.preface._emphasis_2001_to_2006__emphasis_"></a><h4>
-<a name="id645185"></a>
+<a name="id672662"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_2001_to_2006__emphasis_"><span class="emphasis"><em>2001
       to 2006</em></span></a>
     </h4>
@@ -120,7 +120,7 @@
       for design and implementation quality, robustness, and reusability.
     </p>
 <a name="spirit.preface._emphasis_2007__emphasis_"></a><h4>
-<a name="id645236"></a>
+<a name="id672713"></a>
       <a class="link" href="preface.html#spirit.preface._emphasis_2007__emphasis_"><span class="emphasis"><em>2007</em></span></a>
     </h4>
 <p>
@@ -157,12 +157,12 @@
       gives you the right ingredients to easily create a sledgehammer.
     </p>
 <a name="spirit.preface.new_ideas__spirit_v2"></a><h4>
-<a name="id685856"></a>
+<a name="id713363"></a>
       <a class="link" href="preface.html#spirit.preface.new_ideas__spirit_v2">New Ideas: Spirit V2</a>
     </h4>
 <p>
       Just before the development of Spirit V2 began, Hartmut came across the StringTemplate library that is
- a part of the ANTLR parser framework. <sup>[<a name="id685874" href="#ftn.id685874" class="footnote">1</a>]</sup> The concepts presented in that library lead Hartmut to the next
+ a part of the ANTLR parser framework. <sup>[<a name="id713381" href="#ftn.id713381" class="footnote">1</a>]</sup> The concepts presented in that library lead Hartmut to the next
       step in the evolution of Spirit. Parsing and generation are tightly connected
       to a formal notation, or a grammar. The grammar describes both input and output,
       and therefore, a parser library should have a grammar driven output. This duality
@@ -185,7 +185,7 @@
       same underlying component library as for the parser and generator libraries.
     </p>
 <a name="spirit.preface.how_to_use_this_manual"></a><h4>
-<a name="id685924"></a>
+<a name="id713431"></a>
       <a class="link" href="preface.html#spirit.preface.how_to_use_this_manual">How to use this manual</a>
     </h4>
 <p>
@@ -338,7 +338,7 @@
       Tools</a>.
     </p>
 <a name="spirit.preface.support"></a><h4>
-<a name="id686238"></a>
+<a name="id713744"></a>
       <a class="link" href="preface.html#spirit.preface.support">Support</a>
     </h4>
 <p>
@@ -353,7 +353,7 @@
     </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id685874" href="#id685874" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id713381" href="#id713381" class="para">1</a>] </sup>
         Quote from http:<span class="emphasis"><em>/www.stringtemplate.org</em></span>: It is a Java
         template engine (with ports for C# and Python) for generating source code,
         web pages, emails, or any other formatted text output.

Modified: trunk/libs/spirit/doc/html/spirit/qi.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -78,6 +78,7 @@
 <dt><span class="section">Stream Parsers</span></dt>
 <dt><span class="section">String Parsers</span></dt>
 </dl></dd>
+<dt><span class="section">Qi Index</span></dt>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/quick_reference/compound_attribute_rules.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
         Attribute Rules</a>
 </h4></div></div></div>
 <a name="spirit.qi.quick_reference.compound_attribute_rules.notation"></a><h6>
-<a name="id730985"></a>
+<a name="id758419"></a>
           <a class="link" href="compound_attribute_rules.html#spirit.qi.quick_reference.compound_attribute_rules.notation">Notation</a>
         </h6>
 <p>
@@ -72,7 +72,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.quick_reference.compound_attribute_rules.compound_parser_attribute_types"></a><h6>
-<a name="id731606"></a>
+<a name="id759039"></a>
           <a class="link" href="compound_attribute_rules.html#spirit.qi.quick_reference.compound_attribute_rules.compound_parser_attribute_types">Compound
           Parser Attribute Types</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/action.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/action.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/action.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.action"></a><a class="link" href="action.html" title="Semantic Actions with Parsers">Semantic Actions with Parsers</a>
 </h4></div></div></div>
 <a name="spirit.qi.reference.action.description"></a><h6>
-<a name="id754703"></a>
+<a name="id782233"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.description">Description</a>
         </h6>
 <p>
@@ -38,7 +38,7 @@
           is an arbitrary parser expression.
         </p>
 <a name="spirit.qi.reference.action.header"></a><h6>
-<a name="id754754"></a>
+<a name="id782283"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/action.hpp&gt;
@@ -48,7 +48,7 @@
           Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
 <a name="spirit.qi.reference.action.model_of"></a><h6>
-<a name="id754852"></a>
+<a name="id782382"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.model_of">Model of</a>
         </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -84,7 +84,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.action.expression_semantics"></a><h6>
-<a name="id755094"></a>
+<a name="id782624"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -162,7 +162,7 @@
           and not generating any output.
         </p>
 <a name="spirit.qi.reference.action.attributes"></a><h6>
-<a name="id755666"></a>
+<a name="id783196"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.attributes">Attributes</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -199,7 +199,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.action.complexity"></a><h6>
-<a name="id755808"></a>
+<a name="id783338"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.complexity">Complexity</a>
         </h6>
 <p>
@@ -208,7 +208,7 @@
           or function object used as the semantic action.
         </p>
 <a name="spirit.qi.reference.action.example"></a><h6>
-<a name="id755832"></a>
+<a name="id783362"></a>
           <a class="link" href="action.html#spirit.qi.reference.action.example">Example</a>
         </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auto.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auto.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auto.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.auto"></a><a class="link" href="auto.html" title="Auto Parser">Auto Parser</a>
 </h4></div></div></div>
 <a name="spirit.qi.reference.auto.description"></a><h6>
-<a name="id755896"></a>
+<a name="id783426"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.description">Description</a>
         </h6>
 <p>
@@ -36,7 +36,7 @@
           on the supplied attribute type.
         </p>
 <a name="spirit.qi.reference.auto.header"></a><h6>
-<a name="id755932"></a>
+<a name="id783462"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auto.hpp&gt;
@@ -46,7 +46,7 @@
           Also, see <a class="link" href="../../structure/include.html" title="Include">Include Structure</a>.
         </p>
 <a name="spirit.qi.reference.auto.namespace"></a><h6>
-<a name="id756030"></a>
+<a name="id783560"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.namespace">Namespace</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -64,14 +64,14 @@
                 </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auto.model_of"></a><h6>
-<a name="id756119"></a>
+<a name="id783649"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.model_of">Model of</a>
         </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
             <a class="link" href="parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a>
           </p></blockquote></div>
 <a name="spirit.qi.reference.auto.expression_semantics"></a><h6>
-<a name="id756160"></a>
+<a name="id783689"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -111,7 +111,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auto.additional_requirements"></a><h6>
-<a name="id756264"></a>
+<a name="id783794"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.additional_requirements">Additional
           Requirements</a>
         </h6>
@@ -275,7 +275,7 @@
           can be used also to redefined any of the predefined mappings.
         </p>
 <a name="spirit.qi.reference.auto.attributes"></a><h6>
-<a name="id756994"></a>
+<a name="id784524"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.attributes">Attributes</a>
         </h6>
 <div class="informaltable"><table class="table">
@@ -323,7 +323,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.auto.complexity"></a><h6>
-<a name="id757129"></a>
+<a name="id784658"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.complexity">Complexity</a>
         </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -333,7 +333,7 @@
             complexity.
           </p></blockquote></div>
 <a name="spirit.qi.reference.auto.example"></a><h6>
-<a name="id757168"></a>
+<a name="id784697"></a>
           <a class="link" href="auto.html#spirit.qi.reference.auto.example">Example</a>
         </h6>
 <div class="note"><table border="0" summary="Note">
@@ -352,10 +352,12 @@
 <p>
           
 </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">support_utree</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cstdlib</span><span class="special">&gt;</span>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -46,7 +46,7 @@
           <code class="computeroutput"><span class="identifier">eps</span></code>, and <code class="computeroutput"><span class="identifier">lazy</span></code> parsers.
         </p>
 <a name="spirit.qi.reference.auxiliary.module_header"></a><h6>
-<a name="id758801"></a>
+<a name="id786426"></a>
           <a class="link" href="auxiliary.html#spirit.qi.reference.auxiliary.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">attr</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.auxiliary.attr.description"></a><h6>
-<a name="id758925"></a>
+<a name="id786550"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             its specified parameter as an attribute.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr.header"></a><h6>
-<a name="id758949"></a>
+<a name="id786574"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/attr.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr.namespace"></a><h6>
-<a name="id759048"></a>
+<a name="id786672"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -65,7 +65,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr.model_of"></a><h6>
-<a name="id759137"></a>
+<a name="id786762"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -89,7 +89,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.auxiliary.attr.expression_semantics"></a><h6>
-<a name="id759254"></a>
+<a name="id786879"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -129,7 +129,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr.attributes"></a><h6>
-<a name="id759380"></a>
+<a name="id787004"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -163,7 +163,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr.complexity"></a><h6>
-<a name="id759483"></a>
+<a name="id787108"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -174,7 +174,7 @@
             done.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr.example"></a><h6>
-<a name="id759514"></a>
+<a name="id787139"></a>
             <a class="link" href="attr.html#spirit.qi.reference.auxiliary.attr.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/attr_cast.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Transformation Pseudo Parser (<code class="computeroutput"><span class="identifier">attr_cast</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.auxiliary.attr_cast.description"></a><h6>
-<a name="id760134"></a>
+<a name="id787759"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             component using the customization point <a class="link" href="../../../advanced/customize/transform.html" title="Transform an Attribute to a Different Type (Qi and Karma)"><code class="computeroutput"><span class="identifier">transform_attribute</span></code></a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr_cast.header"></a><h6>
-<a name="id760230"></a>
+<a name="id787854"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/attr_cast.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr_cast.namespace"></a><h6>
-<a name="id760328"></a>
+<a name="id787953"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -69,14 +69,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr_cast.synopsis"></a><h6>
-<a name="id760419"></a>
+<a name="id788044"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</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="special">&lt;</span><span class="identifier">unspecified</span><span class="special">&gt;</span> <span class="identifier">attr_cast</span><span class="special">(&lt;</span><span class="identifier">unspecified</span><span class="special">&gt;);</span>
 </pre>
 <a name="spirit.qi.reference.auxiliary.attr_cast.template_parameters"></a><h6>
-<a name="id760511"></a>
+<a name="id788135"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.template_parameters">Template
             parameters</a>
           </h6>
@@ -154,7 +154,7 @@
             not explicitly specified.
           </p>
 <a name="spirit.qi.reference.auxiliary.attr_cast.model_of"></a><h6>
-<a name="id760792"></a>
+<a name="id788416"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.model_of">Model
             of</a>
           </h6>
@@ -171,7 +171,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.auxiliary.attr_cast.expression_semantics"></a><h6>
-<a name="id760862"></a>
+<a name="id788487"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -253,7 +253,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr_cast.attributes"></a><h6>
-<a name="id761251"></a>
+<a name="id788876"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -324,7 +324,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.attr_cast.complexity"></a><h6>
-<a name="id761632"></a>
+<a name="id789256"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -332,7 +332,7 @@
               of the embedded parser <code class="computeroutput"><span class="identifier">p</span></code>.
             </p></blockquote></div>
 <a name="spirit.qi.reference.auxiliary.attr_cast.example"></a><h6>
-<a name="id761670"></a>
+<a name="id789294"></a>
             <a class="link" href="attr_cast.html#spirit.qi.reference.auxiliary.attr_cast.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eoi.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">eoi</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.auxiliary.eoi.description"></a><h6>
-<a name="id763072"></a>
+<a name="id790697"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             is exhausted)
           </p>
 <a name="spirit.qi.reference.auxiliary.eoi.header"></a><h6>
-<a name="id763107"></a>
+<a name="id790732"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/eoi.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.eoi.namespace"></a><h6>
-<a name="id763206"></a>
+<a name="id790831"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -65,14 +65,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eoi.model_of"></a><h6>
-<a name="id763296"></a>
+<a name="id790921"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               <a class="link" href="../parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a>
             </p></blockquote></div>
 <a name="spirit.qi.reference.auxiliary.eoi.expression_semantics"></a><h6>
-<a name="id763337"></a>
+<a name="id790962"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -111,7 +111,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eoi.attributes"></a><h6>
-<a name="id763437"></a>
+<a name="id791062"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -145,14 +145,14 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eoi.complexity"></a><h6>
-<a name="id763527"></a>
+<a name="id791152"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(1)
             </p></blockquote></div>
 <a name="spirit.qi.reference.auxiliary.eoi.example"></a><h6>
-<a name="id763554"></a>
+<a name="id791178"></a>
             <a class="link" href="eoi.html#spirit.qi.reference.auxiliary.eoi.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eol.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">eol</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.auxiliary.eol.description"></a><h6>
-<a name="id762423"></a>
+<a name="id790047"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             the end of line (CR/LF and combinations thereof).
           </p>
 <a name="spirit.qi.reference.auxiliary.eol.header"></a><h6>
-<a name="id762457"></a>
+<a name="id790082"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/eol.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.eol.namespace"></a><h6>
-<a name="id762556"></a>
+<a name="id790181"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -64,14 +64,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eol.model_of"></a><h6>
-<a name="id762647"></a>
+<a name="id790271"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               <a class="link" href="../parser_concepts/primitiveparser.html" title="PrimitiveParser"><code class="computeroutput"><span class="identifier">PrimitiveParser</span></code></a>
             </p></blockquote></div>
 <a name="spirit.qi.reference.auxiliary.eol.expression_semantics"></a><h6>
-<a name="id762688"></a>
+<a name="id790313"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -110,7 +110,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eol.attributes"></a><h6>
-<a name="id762789"></a>
+<a name="id790414"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -144,14 +144,14 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eol.complexity"></a><h6>
-<a name="id762880"></a>
+<a name="id790504"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(1)
             </p></blockquote></div>
 <a name="spirit.qi.reference.auxiliary.eol.example"></a><h6>
-<a name="id762906"></a>
+<a name="id790531"></a>
             <a class="link" href="eol.html#spirit.qi.reference.auxiliary.eol.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">eps</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.auxiliary.eps.description"></a><h6>
-<a name="id763720"></a>
+<a name="id791345"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             a multi-purpose parser that returns a zero length match.
           </p>
 <a name="spirit.qi.reference.auxiliary.eps.simple_form"></a><h6>
-<a name="id763754"></a>
+<a name="id791378"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.simple_form">Simple
             Form</a>
           </h6>
@@ -54,7 +54,7 @@
 <pre class="programlisting"><span class="identifier">r</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">c</span> <span class="special">|</span> <span class="identifier">eps</span><span class="special">[</span><span class="identifier">error</span><span class="special">()];</span> <span class="comment">// Call error if a, b, and c fail to match
 </span></pre>
 <a name="spirit.qi.reference.auxiliary.eps.semantic_predicate"></a><h6>
-<a name="id763883"></a>
+<a name="id791507"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.semantic_predicate">Semantic
             Predicate</a>
           </h6>
@@ -79,7 +79,7 @@
             touching rest.
           </p>
 <a name="spirit.qi.reference.auxiliary.eps.header"></a><h6>
-<a name="id764037"></a>
+<a name="id791662"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/eps.hpp&gt;
@@ -89,7 +89,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.eps.namespace"></a><h6>
-<a name="id764137"></a>
+<a name="id791761"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -107,7 +107,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eps.model_of"></a><h6>
-<a name="id764226"></a>
+<a name="id791851"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -124,7 +124,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.auxiliary.eps.expression_semantics"></a><h6>
-<a name="id764313"></a>
+<a name="id791938"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -179,7 +179,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eps.attributes"></a><h6>
-<a name="id764474"></a>
+<a name="id792098"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -213,7 +213,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.eps.complexity"></a><h6>
-<a name="id764564"></a>
+<a name="id792189"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -222,7 +222,7 @@
               function <code class="computeroutput"><span class="identifier">f</span></code>.
             </p></blockquote></div>
 <a name="spirit.qi.reference.auxiliary.eps.example"></a><h6>
-<a name="id764635"></a>
+<a name="id792260"></a>
             <a class="link" href="eps.html#spirit.qi.reference.auxiliary.eps.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/auxiliary/lazy.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.auxiliary.lazy"></a><a class="link" href="lazy.html" title="Lazy Parser (lazy)">Lazy Parser (<code class="computeroutput"><span class="identifier">lazy</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.auxiliary.lazy.description"></a><h6>
-<a name="id765303"></a>
+<a name="id792928"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             once it is created to continue the parse.
           </p>
 <a name="spirit.qi.reference.auxiliary.lazy.header"></a><h6>
-<a name="id765345"></a>
+<a name="id792970"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auxiliary/lazy.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.auxiliary.lazy.namespace"></a><h6>
-<a name="id765444"></a>
+<a name="id793069"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -65,7 +65,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.lazy.model_of"></a><h6>
-<a name="id765535"></a>
+<a name="id793160"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -82,7 +82,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.auxiliary.lazy.expression_semantics"></a><h6>
-<a name="id765626"></a>
+<a name="id793251"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -145,7 +145,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.lazy.attributes"></a><h6>
-<a name="id765876"></a>
+<a name="id793501"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -193,7 +193,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.auxiliary.lazy.complexity"></a><h6>
-<a name="id766017"></a>
+<a name="id793642"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.complexity">Complexity</a>
           </h6>
 <p>
@@ -201,7 +201,7 @@
             parser is determined by the complexity of the parser returned from <code class="computeroutput"><span class="identifier">fp</span></code>.
           </p>
 <a name="spirit.qi.reference.auxiliary.lazy.example"></a><h6>
-<a name="id766062"></a>
+<a name="id793686"></a>
             <a class="link" href="lazy.html#spirit.qi.reference.auxiliary.lazy.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/basics.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.basics"></a><a class="link" href="basics.html" title="Parser Basics">Parser Basics</a>
 </h4></div></div></div>
 <a name="spirit.qi.reference.basics.lazy_argument"></a><h6>
-<a name="id743912"></a>
+<a name="id771346"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.lazy_argument">Lazy Argument</a>
         </h6>
 <p>
@@ -51,7 +51,7 @@
           second argument. This is done for uniformity with Semantic Actions).
         </p>
 <a name="spirit.qi.reference.basics.character_encoding_namespace"></a><h6>
-<a name="id744092"></a>
+<a name="id771526"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.character_encoding_namespace">Character
           Encoding Namespace</a>
         </h6>
@@ -112,7 +112,7 @@
             </li>
 </ul></div>
 <a name="spirit.qi.reference.basics.examples"></a><h6>
-<a name="id744354"></a>
+<a name="id771788"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.examples">Examples</a>
         </h6>
 <p>
@@ -126,10 +126,12 @@
 <p>
           
 </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">support_utree</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">phoenix_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cstdlib</span><span class="special">&gt;</span>
@@ -249,11 +251,11 @@
 <p>
         </p>
 <a name="spirit.qi.reference.basics.string"></a><h6>
-<a name="id747496"></a>
+<a name="id775025"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.string">String</a>
         </h6>
 <a name="spirit.qi.reference.basics.header"></a><h6>
-<a name="id747515"></a>
+<a name="id775045"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/support/string_traits.hpp&gt;
@@ -354,7 +356,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.basics.models"></a><h6>
-<a name="id748100"></a>
+<a name="id775630"></a>
           <a class="link" href="basics.html#spirit.qi.reference.basics.models">Models</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/binary.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/binary.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/binary.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -41,7 +41,7 @@
           input.
         </p>
 <a name="spirit.qi.reference.binary.module_header"></a><h6>
-<a name="id766401"></a>
+<a name="id794026"></a>
           <a class="link" href="binary.html#spirit.qi.reference.binary.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/binary.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_big.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Endianness Parsers</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.binary.binary_big.description"></a><h6>
-<a name="id770867"></a>
+<a name="id798492"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             are laid out in big endian.
           </p>
 <a name="spirit.qi.reference.binary.binary_big.header"></a><h6>
-<a name="id770891"></a>
+<a name="id798516"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/binary.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.binary.binary_big.namespace"></a><h6>
-<a name="id770991"></a>
+<a name="id798615"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -90,7 +90,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_big.model_of"></a><h6>
-<a name="id771220"></a>
+<a name="id798845"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.model_of">Model
             of</a>
           </h6>
@@ -121,7 +121,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.binary.binary_big.expression_semantics"></a><h6>
-<a name="id771358"></a>
+<a name="id798983"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -222,7 +222,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_big.attributes"></a><h6>
-<a name="id771634"></a>
+<a name="id799258"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -318,14 +318,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_big.complexity"></a><h6>
-<a name="id771973"></a>
+<a name="id799598"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of bytes parsed
             </p></blockquote></div>
 <a name="spirit.qi.reference.binary.binary_big.example"></a><h6>
-<a name="id771999"></a>
+<a name="id799624"></a>
             <a class="link" href="binary_big.html#spirit.qi.reference.binary.binary_big.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_little.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Little Endianness Parser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.binary.binary_little.description"></a><h6>
-<a name="id769121"></a>
+<a name="id796746"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             that are laid out in little endian.
           </p>
 <a name="spirit.qi.reference.binary.binary_little.header"></a><h6>
-<a name="id769146"></a>
+<a name="id796771"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/binary.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.binary.binary_little.namespace"></a><h6>
-<a name="id769245"></a>
+<a name="id796870"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -91,7 +91,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_little.model_of"></a><h6>
-<a name="id769476"></a>
+<a name="id797100"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.model_of">Model
             of</a>
           </h6>
@@ -122,7 +122,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.binary.binary_little.expression_semantics"></a><h6>
-<a name="id769614"></a>
+<a name="id797238"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -223,7 +223,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_little.attributes"></a><h6>
-<a name="id769890"></a>
+<a name="id797515"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -319,14 +319,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_little.complexity"></a><h6>
-<a name="id770230"></a>
+<a name="id797855"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of bytes parsed
             </p></blockquote></div>
 <a name="spirit.qi.reference.binary.binary_little.example"></a><h6>
-<a name="id770257"></a>
+<a name="id797881"></a>
             <a class="link" href="binary_little.html#spirit.qi.reference.binary.binary_little.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/binary/binary_native.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Native Endianness Parsers</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.binary.binary_native.description"></a><h6>
-<a name="id766515"></a>
+<a name="id794140"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             of the target architecture.
           </p>
 <a name="spirit.qi.reference.binary.binary_native.header"></a><h6>
-<a name="id766546"></a>
+<a name="id794170"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/binary.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.binary.binary_native.namespace"></a><h6>
-<a name="id766645"></a>
+<a name="id794270"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -97,7 +97,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_native.model_of"></a><h6>
-<a name="id766918"></a>
+<a name="id794543"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.model_of">Model
             of</a>
           </h6>
@@ -134,7 +134,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.binary.binary_native.expression_semantics"></a><h6>
-<a name="id767087"></a>
+<a name="id794712"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -259,7 +259,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_native.attributes"></a><h6>
-<a name="id767431"></a>
+<a name="id795056"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -379,14 +379,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.binary.binary_native.complexity"></a><h6>
-<a name="id767866"></a>
+<a name="id795491"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of bytes parsed
             </p></blockquote></div>
 <a name="spirit.qi.reference.binary.binary_native.example"></a><h6>
-<a name="id767893"></a>
+<a name="id795518"></a>
             <a class="link" href="binary_native.html#spirit.qi.reference.binary.binary_native.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/char.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/char.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/char.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -42,7 +42,7 @@
           etc.).
         </p>
 <a name="spirit.qi.reference.char.module_header"></a><h6>
-<a name="id772682"></a>
+<a name="id800306"></a>
           <a class="link" href="char.html#spirit.qi.reference.char.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/char.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/char/char.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/char/char.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/char/char.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.char.char"></a><a class="link" href="char.html" title="Character Parser (char_, lit)">Character Parser (<code class="computeroutput"><span class="identifier">char_</span></code>, <code class="computeroutput"><span class="identifier">lit</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.char.char.description"></a><h6>
-<a name="id772816"></a>
+<a name="id800440"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             There are various forms of <code class="computeroutput"><span class="identifier">char_</span></code>.
           </p>
 <a name="spirit.qi.reference.char.char.char_"></a><h6>
-<a name="id772884"></a>
+<a name="id800508"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.char_">char_</a>
           </h6>
 <p>
@@ -52,7 +52,7 @@
 <pre class="programlisting"><span class="identifier">char_</span> <span class="comment">// matches any character
 </span></pre>
 <a name="spirit.qi.reference.char.char.char__ch_"></a><h6>
-<a name="id772942"></a>
+<a name="id800567"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.char__ch_">char_(ch)</a>
           </h6>
 <p>
@@ -64,7 +64,7 @@
 </span><span class="identifier">char_</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="comment">// matches x (a char)
 </span></pre>
 <a name="spirit.qi.reference.char.char.char__first__last_"></a><h6>
-<a name="id773059"></a>
+<a name="id800683"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.char__first__last_">char_(first,
             last)</a>
           </h6>
@@ -116,7 +116,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.qi.reference.char.char.char__def_"></a><h6>
-<a name="id773299"></a>
+<a name="id800923"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.char__def_">char_(def)</a>
           </h6>
 <p>
@@ -132,7 +132,7 @@
 </span><span class="identifier">char_</span><span class="special">(</span><span class="string">"\x7f\x7e"</span><span class="special">)</span> <span class="comment">// Hexadecimal 0x7F and 0x7E
 </span></pre>
 <a name="spirit.qi.reference.char.char.lit_ch_"></a><h6>
-<a name="id773446"></a>
+<a name="id801071"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.lit_ch_">lit(ch)</a>
           </h6>
 <p>
@@ -168,7 +168,7 @@
 <span class="identifier">lit</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="comment">// c is a char
 </span></pre>
 <a name="spirit.qi.reference.char.char.header"></a><h6>
-<a name="id773663"></a>
+<a name="id801287"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/char/char.hpp&gt;
@@ -178,7 +178,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.char.char.namespace"></a><h6>
-<a name="id773761"></a>
+<a name="id801386"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -208,7 +208,7 @@
             Encoding Namespace</a>.
           </p>
 <a name="spirit.qi.reference.char.char.model_of"></a><h6>
-<a name="id773902"></a>
+<a name="id801526"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -248,7 +248,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.char.char.expression_semantics"></a><h6>
-<a name="id774172"></a>
+<a name="id801797"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -368,7 +368,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.char.char.attributes"></a><h6>
-<a name="id774671"></a>
+<a name="id802296"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -485,7 +485,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.char.char.complexity"></a><h6>
-<a name="id775152"></a>
+<a name="id802777"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -495,7 +495,7 @@
               N is the number of distinct character ranges in the set.
             </p></blockquote></div>
 <a name="spirit.qi.reference.char.char.example"></a><h6>
-<a name="id775202"></a>
+<a name="id802827"></a>
             <a class="link" href="char.html#spirit.qi.reference.char.char.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/char/char_class.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Parsers (<code class="computeroutput"><span class="identifier">alnum</span></code>, <code class="computeroutput"><span class="identifier">digit</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.char.char_class.description"></a><h6>
-<a name="id775960"></a>
+<a name="id803585"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.description">Description</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
             such as inhibiting case sensitivity.
           </p>
 <a name="spirit.qi.reference.char.char_class.header"></a><h6>
-<a name="id776035"></a>
+<a name="id803660"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/char/char_class.hpp&gt;
@@ -50,7 +50,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.char.char_class.namespace"></a><h6>
-<a name="id776135"></a>
+<a name="id803759"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -129,7 +129,7 @@
             Encoding Namespace</a>.
           </p>
 <a name="spirit.qi.reference.char.char_class.model_of"></a><h6>
-<a name="id776547"></a>
+<a name="id804172"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -146,7 +146,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.char.char_class.expression_semantics"></a><h6>
-<a name="id776624"></a>
+<a name="id804249"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -319,7 +319,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.char.char_class.attributes"></a><h6>
-<a name="id777127"></a>
+<a name="id804751"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -327,14 +327,14 @@
               Encoding Namespace</a>, <code class="computeroutput"><span class="identifier">ns</span></code>.
             </p></blockquote></div>
 <a name="spirit.qi.reference.char.char_class.complexity"></a><h6>
-<a name="id777172"></a>
+<a name="id804796"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N)
             </p></blockquote></div>
 <a name="spirit.qi.reference.char.char_class.example"></a><h6>
-<a name="id777199"></a>
+<a name="id804823"></a>
             <a class="link" href="char_class.html#spirit.qi.reference.char.char_class.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -45,6 +45,8 @@
           Re-Establishing Skipping (<code class="computeroutput"><span class="identifier">skip</span><span class="special">[]</span></code>)</a></span></dt>
 <dt><span class="section"><a href="directive/hold.html">Parser Directive
           for Attribute Commit/Rollback (<code class="computeroutput"><span class="identifier">hold</span><span class="special">[]</span></code>)</a></span></dt>
+<dt><span class="section"><a href="directive/as.html">Parser Directives
+ Forcing Atomic Assignment (<code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">as_string</span><span class="special">[],</span> <span class="identifier">as_wstring</span><span class="special">[]</span></code>)</a></span></dt>
 </dl></div>
 <p>
           This module includes different directives usable to augment and parameterize
@@ -52,10 +54,11 @@
           <code class="computeroutput"><span class="identifier">lexeme</span></code>, <code class="computeroutput"><span class="identifier">omit</span></code>,
           <code class="computeroutput"><span class="identifier">raw</span></code>, <code class="computeroutput"><span class="identifier">repeat</span></code>,
           <code class="computeroutput"><span class="identifier">matches</span></code>, <code class="computeroutput"><span class="identifier">no_skip</span></code>, <code class="computeroutput"><span class="identifier">skip</span></code>,
- and <code class="computeroutput"><span class="identifier">hold</span></code> directives.
+ <code class="computeroutput"><span class="identifier">hold</span></code>, <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>, <code class="computeroutput"><span class="identifier">as_string</span></code>
+ and <code class="computeroutput"><span class="identifier">as_wstring</span></code> directives.
         </p>
 <a name="spirit.qi.reference.directive.module_header"></a><h6>
-<a name="id777663"></a>
+<a name="id805332"></a>
           <a class="link" href="directive.html#spirit.qi.reference.directive.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive.hpp&gt;

Added: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/as.html
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/as.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,387 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])</title>
+<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Spirit 2.4.2">
+<link rel="up" href="../directive.html" title="Parser Directive">
+<link rel="prev" href="hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">
+<link rel="next" href="../nonterminal.html" title="Nonterminal Parsers">
+</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="hold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nonterminal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="spirit.qi.reference.directive.as"></a><a class="link" href="as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">Parser Directives
+ Forcing Atomic Assignment (<code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">as_string</span><span class="special">[],</span> <span class="identifier">as_wstring</span><span class="special">[]</span></code>)</a>
+</h5></div></div></div>
+<a name="spirit.qi.reference.directive.as.description"></a><h6>
+<a name="id818104"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.description">Description</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ class forces the atomic assignment of it's subject's synthesized attribute.
+ Usually, repetitive parsers (such as <a class="link" href="../operator/kleene.html" title="Kleene Parser (*a)">Kleene</a>,
+ etc) or sequences exposing a <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span></code> will assign elements to the container
+ supplied as their synthesized attribute by calling <a class="link" href="../../../advanced/customize/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> repeatedly.
+ In some cases, this may be undesirable. The <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> class creates a directive that will
+ pass a temporary object of type <code class="computeroutput"><span class="identifier">T</span></code>
+ to it's subject. If the subject parser passes, the temporary object will
+ be assigned to the directive's supplied attribute with a single call
+ to <a class="link" href="../../../advanced/customize/assign_to.html" title="Store a Parsed Attribute Value (Qi)"><code class="computeroutput"><span class="identifier">assign_to</span></code></a>. If the subject parser
+ fails, the directive's attribute is not mutated.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ implicitly causes commit/rollback semantics similar in nature to the
+ <a class="link" href="hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])"><code class="computeroutput"><span class="identifier">hold</span></code></a>
+ directive.
+ </p></td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The <a class="link" href="../../../advanced/customize/assign_to.html" title="Store a Parsed Attribute Value (Qi)"><code class="computeroutput"><span class="identifier">assign_to</span></code></a> customization point
+ will may end up using <a class="link" href="../../../advanced/customize/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> to assign
+ the temporary object to the supplied attribute by default, depending
+ on the types involved. Use the interface described in <a class="link" href="../../../advanced/customize.html" title="Customization of Spirit's Attribute Handling">Customization
+ of Attribute Handling</a> to manipulate the semantics of this assignment
+ operation.
+ </p></td></tr>
+</table></div>
+<a name="spirit.qi.reference.directive.as.header"></a><h6>
+<a name="id818346"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/as.hpp&gt;
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi_as</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
+ </p>
+<a name="spirit.qi.reference.directive.as.namespace"></a><h6>
+<a name="id818446"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.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">as_string</span> <span class="comment">//
+ alias: boost::spirit::qi::as_string</span></code>
+ </p>
+ </td></tr>
+<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">as_wstring</span> <span class="comment">//
+ alias: boost::spirit::qi::as_wstring</span></code>
+ </p>
+ </td></tr>
+</tbody>
+</table></div>
+<a name="spirit.qi.reference.directive.as.synopsis"></a><h6>
+<a name="id818582"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.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">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">as</span><span class="special">;</span>
+</pre>
+<a name="spirit.qi.reference.directive.as.template_parameters"></a><h6>
+<a name="id818649"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.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">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Attribute type.
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.qi.reference.directive.as.model_of"></a><h6>
+<a name="id818744"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.model_of">Model of</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <a class="link" href="../parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a>
+ </p></blockquote></div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
+<dd><p>
+ A <a class="link" href="../parser_concepts/parser.html" title="Parser"><code class="computeroutput"><span class="identifier">Parser</span></code></a>.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">t</span></code></span></dt>
+<dd><p>
+ A temporary object of type <code class="computeroutput"><span class="identifier">T</span></code>.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt>
+<dd><p>
+ The attribute supplied to the directive.
+ </p></dd>
+</dl>
+</div>
+<a name="spirit.qi.reference.directive.as.expression_semantics"></a><h6>
+<a name="id818881"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+ Semantics of an expression is defined only where it differs from, or
+ is not defined in <a class="link" href="../parser_concepts/unaryparser.html" title="UnaryParser"><code class="computeroutput"><span class="identifier">UnaryParser</span></code></a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a temporary object of <code class="computeroutput"><span class="identifier">t</span></code>
+ of type <code class="computeroutput"><span class="identifier">T</span></code>,
+ and invoke the subject parser <code class="computeroutput"><span class="identifier">a</span></code>,
+ supplying <code class="computeroutput"><span class="identifier">t</span></code>
+ as an attribute. If the subject parser passes, assign <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>
+ <code class="computeroutput"><span class="identifier">as_string</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">as</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">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">as_wstring</span><span class="special">[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">&gt;()[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="spirit.qi.reference.directive.as.attributes"></a><h6>
+<a name="id819230"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.attributes">Attributes</a>
+ </h6>
+<p>
+ See <a class="link" href="../../quick_reference/compound_attribute_rules.html#spirit.qi.quick_reference.compound_attribute_rules.notation">Compound
+ Attribute Notation</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()[</span><span class="identifier">a</span><span class="special">]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">:</span>
+ <span class="identifier">A</span> <span class="special">--&gt;</span>
+ <span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()[</span><span class="identifier">a</span><span class="special">]:</span>
+ <span class="identifier">T</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="spirit.qi.reference.directive.as.complexity"></a><h6>
+<a name="id819404"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.complexity">Complexity</a>
+ </h6>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ The complexity is defined by the complexity of the subject parser,
+ <code class="computeroutput"><span class="identifier">a</span></code>, and the complexity
+ of the assignment of the temporary object <code class="computeroutput"><span class="identifier">t</span></code>
+ to the supplied attribute <code class="computeroutput"><span class="identifier">attr</span></code>
+ </p></blockquote></div>
+<a name="spirit.qi.reference.directive.as.example"></a><h6>
+<a name="id819463"></a>
+ <a class="link" href="as.html#spirit.qi.reference.directive.as.example">Example</a>
+ </h6>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The test harness for the example(s) below is presented in the <a class="link" href="../basics.html#spirit.qi.reference.basics.examples">Basics Examples</a>
+ section.
+ </p></td></tr>
+</table></div>
+<p>
+ Some using declarations:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">utree</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">utree_type</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">utf8_symbol_type</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">as</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">as_string</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">char_</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Simple usage of <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">as_string</span></code> and <code class="computeroutput"><span class="identifier">as_wstring</span></code>:
+ </p>
+<p>
+ To properly handle string concatenation in <a class="link" href="../../../support/utree.html" title="The utree data structure"><code class="computeroutput"><span class="identifier">utree</span></code></a>, we make use of <code class="computeroutput"><span class="identifier">as_string</span><span class="special">[]</span></code>.
+ We also use <code class="computeroutput"><span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ to explicitly create a <a class="link" href="../../../support/utree.html" title="The utree data structure"><code class="computeroutput"><span class="identifier">utree</span></code></a> symbol node.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">utree</span> <span class="identifier">ut</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">utf8_symbol_type</span><span class="special">&gt;</span> <span class="identifier">as_symbol_type</span><span class="special">;</span>
+<span class="identifier">as_symbol_type</span> <span class="keyword">const</span> <span class="identifier">as_symbol</span> <span class="special">=</span> <span class="identifier">as_symbol_type</span><span class="special">();</span>
+
+<span class="identifier">test_parser_attr</span><span class="special">(</span><span class="string">"foo"</span><span class="special">,</span> <span class="identifier">as_string</span><span class="special">[*</span><span class="identifier">char_</span><span class="special">],</span> <span class="identifier">ut</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ut</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// will output &gt;"foo"&lt;
+</span><span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">ut</span><span class="special">.</span><span class="identifier">which</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">utree_type</span><span class="special">::</span><span class="identifier">string_type</span><span class="special">);</span>
+<span class="identifier">ut</span><span class="special">.</span><span class="identifier">clear</span><span class="special">();</span>
+
+<span class="identifier">test_parser_attr</span><span class="special">(</span><span class="string">"foo"</span><span class="special">,</span> <span class="identifier">as</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">char_</span><span class="special">],</span> <span class="identifier">ut</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ut</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// will output &gt;"foo"&lt;
+</span><span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">ut</span><span class="special">.</span><span class="identifier">which</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">utree_type</span><span class="special">::</span><span class="identifier">string_type</span><span class="special">);</span>
+<span class="identifier">ut</span><span class="special">.</span><span class="identifier">clear</span><span class="special">();</span>
+
+<span class="identifier">test_parser_attr</span><span class="special">(</span><span class="string">"foo"</span><span class="special">,</span> <span class="identifier">as_symbol</span><span class="special">[*</span><span class="identifier">char_</span><span class="special">],</span> <span class="identifier">ut</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ut</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// will output &gt;foo&lt;
+</span><span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">ut</span><span class="special">.</span><span class="identifier">which</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">utree_type</span><span class="special">::</span><span class="identifier">symbol_type</span><span class="special">);</span>
+<span class="identifier">ut</span><span class="special">.</span><span class="identifier">clear</span><span class="special">();</span>
+
+<span class="identifier">test_parser_attr</span><span class="special">(</span><span class="string">"foo"</span><span class="special">,</span> <span class="identifier">as</span><span class="special">&lt;</span><span class="identifier">utf8_symbol_type</span><span class="special">&gt;()[*</span><span class="identifier">char_</span><span class="special">],</span> <span class="identifier">ut</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ut</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// will output &gt;foo&lt;
+</span><span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">ut</span><span class="special">.</span><span class="identifier">which</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">utree_type</span><span class="special">::</span><span class="identifier">symbol_type</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2010 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="hold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nonterminal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/hold.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../directive.html" title="Parser Directive">
 <link rel="prev" href="skip.html" title="Parser Directive Re-Establishing Skipping (skip[])">
-<link rel="next" href="../nonterminal.html" title="Nonterminal Parsers">
+<link rel="next" href="as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="skip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nonterminal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="skip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h5 class="title">
@@ -28,7 +28,7 @@
           for Attribute Commit/Rollback (<code class="computeroutput"><span class="identifier">hold</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.hold.description"></a><h6>
-<a name="id789087"></a>
+<a name="id816756"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.description">Description</a>
           </h6>
 <p>
@@ -43,7 +43,7 @@
             the attribute.
           </p>
 <a name="spirit.qi.reference.directive.hold.header"></a><h6>
-<a name="id789146"></a>
+<a name="id816814"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/hold.hpp&gt;
@@ -53,7 +53,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.hold.namespace"></a><h6>
-<a name="id789245"></a>
+<a name="id816914"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -71,7 +71,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.hold.model_of"></a><h6>
-<a name="id789336"></a>
+<a name="id817005"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -87,7 +87,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.hold.expression_semantics"></a><h6>
-<a name="id789420"></a>
+<a name="id817089"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -128,7 +128,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.hold.attributes"></a><h6>
-<a name="id789556"></a>
+<a name="id817225"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.attributes">Attributes</a>
           </h6>
 <p>
@@ -184,7 +184,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.directive.hold.complexity"></a><h6>
-<a name="id789882"></a>
+<a name="id817552"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -192,7 +192,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.hold.example"></a><h6>
-<a name="id789921"></a>
+<a name="id817590"></a>
             <a class="link" href="hold.html#spirit.qi.reference.directive.hold.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -243,7 +243,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="skip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nonterminal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="skip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../directive.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/lexeme.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Inhibiting Skipping (<code class="computeroutput"><span class="identifier">lexeme</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.lexeme.description"></a><h6>
-<a name="id777790"></a>
+<a name="id805459"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.description">Description</a>
           </h6>
 <p>
@@ -70,7 +70,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.directive.lexeme.header"></a><h6>
-<a name="id778037"></a>
+<a name="id805706"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/lexeme.hpp&gt;
@@ -80,7 +80,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.lexeme.namespace"></a><h6>
-<a name="id778136"></a>
+<a name="id805805"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -98,7 +98,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.lexeme.model_of"></a><h6>
-<a name="id778227"></a>
+<a name="id805896"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -114,7 +114,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.lexeme.expression_semantics"></a><h6>
-<a name="id778312"></a>
+<a name="id805982"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -155,7 +155,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.lexeme.attributes"></a><h6>
-<a name="id778438"></a>
+<a name="id806106"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.attributes">Attributes</a>
           </h6>
 <p>
@@ -197,7 +197,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.lexeme.complexity"></a><h6>
-<a name="id778638"></a>
+<a name="id806309"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -205,7 +205,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.lexeme.example"></a><h6>
-<a name="id778677"></a>
+<a name="id806346"></a>
             <a class="link" href="lexeme.html#spirit.qi.reference.directive.lexeme.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/matches.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Testing if Parser Succeeded (<code class="computeroutput"><span class="identifier">matches</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.matches.description"></a><h6>
-<a name="id786608"></a>
+<a name="id814278"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             matching.
           </p>
 <a name="spirit.qi.reference.directive.matches.header"></a><h6>
-<a name="id786648"></a>
+<a name="id814317"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/matches.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.matches.namespace"></a><h6>
-<a name="id786747"></a>
+<a name="id814416"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -65,7 +65,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.matches.model_of"></a><h6>
-<a name="id786838"></a>
+<a name="id814507"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.model_of">Model
             of</a>
           </h6>
@@ -82,7 +82,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.matches.expression_semantics"></a><h6>
-<a name="id786922"></a>
+<a name="id814592"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -123,7 +123,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.matches.attributes"></a><h6>
-<a name="id787048"></a>
+<a name="id814717"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -157,7 +157,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.matches.complexity"></a><h6>
-<a name="id787151"></a>
+<a name="id814820"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -165,7 +165,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.matches.example"></a><h6>
-<a name="id787188"></a>
+<a name="id814857"></a>
             <a class="link" href="matches.html#spirit.qi.reference.directive.matches.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_case.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Inhibiting Case Sensitivity (<code class="computeroutput"><span class="identifier">no_case</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.no_case.description"></a><h6>
-<a name="id780091"></a>
+<a name="id807760"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             parser (and all its children) to be case insensitive.
           </p>
 <a name="spirit.qi.reference.directive.no_case.header"></a><h6>
-<a name="id780131"></a>
+<a name="id807801"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/no_case.hpp&gt;
@@ -48,7 +48,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.no_case.namespace"></a><h6>
-<a name="id780231"></a>
+<a name="id807900"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -70,7 +70,7 @@
             Encoding Namespace</a>.
           </p>
 <a name="spirit.qi.reference.directive.no_case.model_of"></a><h6>
-<a name="id780328"></a>
+<a name="id807997"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.model_of">Model
             of</a>
           </h6>
@@ -93,7 +93,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.no_case.expression_semantics"></a><h6>
-<a name="id780434"></a>
+<a name="id808103"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -133,7 +133,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_case.attributes"></a><h6>
-<a name="id780553"></a>
+<a name="id808222"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.attributes">Attributes</a>
           </h6>
 <p>
@@ -175,7 +175,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_case.complexity"></a><h6>
-<a name="id780781"></a>
+<a name="id808449"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -183,7 +183,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.no_case.example"></a><h6>
-<a name="id780818"></a>
+<a name="id808487"></a>
             <a class="link" href="no_case.html#spirit.qi.reference.directive.no_case.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/no_skip.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Inhibiting Skipping Without Pre-skip (<code class="computeroutput"><span class="identifier">no_skip</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.no_skip.description"></a><h6>
-<a name="id779013"></a>
+<a name="id806683"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             directive.
           </p>
 <a name="spirit.qi.reference.directive.no_skip.header"></a><h6>
-<a name="id779083"></a>
+<a name="id806752"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/no_skip.hpp&gt;
@@ -49,7 +49,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.no_skip.namespace"></a><h6>
-<a name="id779182"></a>
+<a name="id806851"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -67,7 +67,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_skip.model_of"></a><h6>
-<a name="id779272"></a>
+<a name="id806942"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.model_of">Model
             of</a>
           </h6>
@@ -84,7 +84,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.no_skip.expression_semantics"></a><h6>
-<a name="id779357"></a>
+<a name="id807026"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -124,7 +124,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_skip.attributes"></a><h6>
-<a name="id779482"></a>
+<a name="id807151"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.attributes">Attributes</a>
           </h6>
 <p>
@@ -166,7 +166,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.no_skip.complexity"></a><h6>
-<a name="id779683"></a>
+<a name="id807352"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -174,7 +174,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.no_skip.example"></a><h6>
-<a name="id779720"></a>
+<a name="id807389"></a>
             <a class="link" href="no_skip.html#spirit.qi.reference.directive.no_skip.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/omit.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Ignoring Attribute (<code class="computeroutput"><span class="identifier">omit</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.omit.description"></a><h6>
-<a name="id781606"></a>
+<a name="id809275"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             ignores the attribute of its subject parser replacing it with <code class="computeroutput"><span class="identifier">unused</span></code>.
           </p>
 <a name="spirit.qi.reference.directive.omit.header"></a><h6>
-<a name="id781655"></a>
+<a name="id809324"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/omit.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.omit.namespace"></a><h6>
-<a name="id781753"></a>
+<a name="id809423"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -64,7 +64,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.omit.model_of"></a><h6>
-<a name="id781843"></a>
+<a name="id809512"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -80,7 +80,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.omit.expression_semantics"></a><h6>
-<a name="id781928"></a>
+<a name="id809597"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -119,7 +119,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.omit.attributes"></a><h6>
-<a name="id782051"></a>
+<a name="id809720"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -153,7 +153,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.omit.complexity"></a><h6>
-<a name="id782155"></a>
+<a name="id809824"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -161,7 +161,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.omit.example"></a><h6>
-<a name="id782192"></a>
+<a name="id809861"></a>
             <a class="link" href="omit.html#spirit.qi.reference.directive.omit.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Transduction Parsing (<code class="computeroutput"><span class="identifier">raw</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.raw.description"></a><h6>
-<a name="id782567"></a>
+<a name="id810236"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             transduction (un-attributed) behavior for a subject parser.
           </p>
 <a name="spirit.qi.reference.directive.raw.header"></a><h6>
-<a name="id782652"></a>
+<a name="id810321"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/raw.hpp&gt;
@@ -49,7 +49,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.raw.namespace"></a><h6>
-<a name="id782751"></a>
+<a name="id810420"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -67,7 +67,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.raw.model_of"></a><h6>
-<a name="id782842"></a>
+<a name="id810511"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -87,7 +87,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.raw.expression_semantics"></a><h6>
-<a name="id782961"></a>
+<a name="id810631"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -128,7 +128,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.raw.attributes"></a><h6>
-<a name="id783115"></a>
+<a name="id810785"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.attributes">Attributes</a>
           </h6>
 <p>
@@ -179,7 +179,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.directive.raw.complexity"></a><h6>
-<a name="id783370"></a>
+<a name="id811040"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -187,7 +187,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.raw.example"></a><h6>
-<a name="id783408"></a>
+<a name="id811077"></a>
             <a class="link" href="raw.html#spirit.qi.reference.directive.raw.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Parser Directive (<code class="computeroutput"><span class="identifier">repeat</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.repeat.description"></a><h6>
-<a name="id783797"></a>
+<a name="id811466"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.description">Description</a>
           </h6>
 <p>
@@ -51,7 +51,7 @@
               </li>
 </ul></div>
 <a name="spirit.qi.reference.directive.repeat.header"></a><h6>
-<a name="id783876"></a>
+<a name="id811545"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/repeat.hpp&gt;
@@ -61,7 +61,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.repeat.namespace"></a><h6>
-<a name="id783975"></a>
+<a name="id811644"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -87,7 +87,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.repeat.model_of"></a><h6>
-<a name="id784109"></a>
+<a name="id811779"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -111,7 +111,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.repeat.expression_semantics"></a><h6>
-<a name="id784276"></a>
+<a name="id811945"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -198,7 +198,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.repeat.attributes"></a><h6>
-<a name="id784657"></a>
+<a name="id812326"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.attributes">Attributes</a>
           </h6>
 <p>
@@ -292,7 +292,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.repeat.complexity"></a><h6>
-<a name="id785458"></a>
+<a name="id813127"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -301,7 +301,7 @@
               itself is O(N), where N is the number of repetitions to execute.
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.repeat.example"></a><h6>
-<a name="id785498"></a>
+<a name="id813167"></a>
             <a class="link" href="repeat.html#spirit.qi.reference.directive.repeat.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/directive/skip.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Re-Establishing Skipping (<code class="computeroutput"><span class="identifier">skip</span><span class="special">[]</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.directive.skip.description"></a><h6>
-<a name="id787714"></a>
+<a name="id815383"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.description">Description</a>
           </h6>
 <p>
@@ -61,7 +61,7 @@
               </li>
 </ul></div>
 <a name="spirit.qi.reference.directive.skip.header"></a><h6>
-<a name="id787916"></a>
+<a name="id815585"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/directive/skip.hpp&gt;
@@ -71,7 +71,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.directive.skip.namespace"></a><h6>
-<a name="id788015"></a>
+<a name="id815684"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -89,7 +89,7 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.skip.model_of"></a><h6>
-<a name="id788106"></a>
+<a name="id815775"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -105,7 +105,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.directive.skip.expression_semantics"></a><h6>
-<a name="id788191"></a>
+<a name="id815860"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -159,7 +159,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.skip.attributes"></a><h6>
-<a name="id788374"></a>
+<a name="id816043"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.attributes">Attributes</a>
           </h6>
 <p>
@@ -219,7 +219,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.directive.skip.complexity"></a><h6>
-<a name="id788735"></a>
+<a name="id816405"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -227,7 +227,7 @@
               <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.directive.skip.example"></a><h6>
-<a name="id788773"></a>
+<a name="id816442"></a>
             <a class="link" href="skip.html#spirit.qi.reference.directive.skip.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="directive/hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">
+<link rel="prev" href="directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">
 <link rel="next" href="nonterminal/rule.html" title="Parser Rule">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="directive/hold.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nonterminal/rule.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="directive/as.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nonterminal/rule.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
@@ -31,7 +31,7 @@
 <dt><span class="section">Parser Grammar</span></dt>
 </dl></div>
 <a name="spirit.qi.reference.nonterminal.module_headers"></a><h6>
-<a name="id790391"></a>
+<a name="id820679"></a>
           <a class="link" href="nonterminal.html#spirit.qi.reference.nonterminal.module_headers">Module Headers</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/nonterminal.hpp&gt;
@@ -51,7 +51,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="directive/hold.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nonterminal/rule.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="directive/as.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nonterminal/rule.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.nonterminal.grammar"></a><a class="link" href="grammar.html" title="Parser Grammar">Parser Grammar</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.nonterminal.grammar.description"></a><h6>
-<a name="id793434"></a>
+<a name="id823723"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             Grammars can be composed to form more complex grammars.
           </p>
 <a name="spirit.qi.reference.nonterminal.grammar.header"></a><h6>
-<a name="id793483"></a>
+<a name="id823771"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/nonterminal/grammar.hpp&gt;
@@ -47,7 +47,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.nonterminal.grammar.namespace"></a><h6>
-<a name="id793583"></a>
+<a name="id823870"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -64,14 +64,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.nonterminal.grammar.synopsis"></a><h6>
-<a name="id793676"></a>
+<a name="id823964"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.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">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A3</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">grammar</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.nonterminal.grammar.template_parameters"></a><h6>
-<a name="id793792"></a>
+<a name="id824080"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.template_parameters">Template
             parameters</a>
           </h6>
@@ -226,7 +226,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.nonterminal.grammar.model_of"></a><h6>
-<a name="id794234"></a>
+<a name="id824521"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.model_of">Model
             of</a>
           </h6>
@@ -243,7 +243,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.nonterminal.grammar.expression_semantics"></a><h6>
-<a name="id794304"></a>
+<a name="id824591"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -310,7 +310,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.nonterminal.grammar.attributes"></a><h6>
-<a name="id794680"></a>
+<a name="id824968"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -318,14 +318,14 @@
               its synthesized attribute. See <a class="link" href="../parser_concepts/nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.attributes"><code class="computeroutput"><span class="identifier">Attribute</span></code></a>
             </p></blockquote></div>
 <a name="spirit.qi.reference.nonterminal.grammar.complexity"></a><h6>
-<a name="id794733"></a>
+<a name="id825021"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               The complexity is defined by the complexity of the its definition.
             </p></blockquote></div>
 <a name="spirit.qi.reference.nonterminal.grammar.example"></a><h6>
-<a name="id794760"></a>
+<a name="id825048"></a>
             <a class="link" href="grammar.html#spirit.qi.reference.nonterminal.grammar.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/nonterminal/rule.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.nonterminal.rule"></a><a class="link" href="rule.html" title="Parser Rule">Parser Rule</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.nonterminal.rule.description"></a><h6>
-<a name="id790504"></a>
+<a name="id820791"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.description">Description</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
             in recursive descent parsing.
           </p>
 <a name="spirit.qi.reference.nonterminal.rule.header"></a><h6>
-<a name="id790546"></a>
+<a name="id820832"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/nonterminal/rule.hpp&gt;
@@ -50,7 +50,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.nonterminal.rule.namespace"></a><h6>
-<a name="id790645"></a>
+<a name="id820932"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -67,14 +67,14 @@
                   </td></tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.nonterminal.rule.synopsis"></a><h6>
-<a name="id790739"></a>
+<a name="id821026"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.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">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A3</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">rule</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.nonterminal.rule.template_parameters"></a><h6>
-<a name="id790854"></a>
+<a name="id821142"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.template_parameters">Template
             parameters</a>
           </h6>
@@ -233,7 +233,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.nonterminal.rule.model_of"></a><h6>
-<a name="id791298"></a>
+<a name="id821586"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -264,7 +264,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.nonterminal.rule.expression_semantics"></a><h6>
-<a name="id791494"></a>
+<a name="id821782"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -402,7 +402,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.nonterminal.rule.attributes"></a><h6>
-<a name="id792152"></a>
+<a name="id822440"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.attributes">Attributes</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -410,14 +410,14 @@
               its synthesized attribute. See <a class="link" href="../parser_concepts/nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.attributes"><code class="computeroutput"><span class="identifier">Attribute</span></code></a>
             </p></blockquote></div>
 <a name="spirit.qi.reference.nonterminal.rule.complexity"></a><h6>
-<a name="id792206"></a>
+<a name="id822493"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               The complexity is defined by the complexity of the RHS parser, <code class="computeroutput"><span class="identifier">p</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.nonterminal.rule.example"></a><h6>
-<a name="id792243"></a>
+<a name="id822530"></a>
             <a class="link" href="rule.html#spirit.qi.reference.nonterminal.rule.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/numeric.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/numeric.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/numeric.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -56,7 +56,7 @@
           write extremely tight generic C++ code that rivals, if not surpasses C.
         </p>
 <a name="spirit.qi.reference.numeric.module_header"></a><h6>
-<a name="id795382"></a>
+<a name="id825670"></a>
           <a class="link" href="numeric.html#spirit.qi.reference.numeric.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/numeric.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/boolean.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">bool_</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.numeric.boolean.description"></a><h6>
-<a name="id807073"></a>
+<a name="id840257"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             expression requirements (documented below).
           </p>
 <a name="spirit.qi.reference.numeric.boolean.header"></a><h6>
-<a name="id807130"></a>
+<a name="id840314"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/numeric/bool.hpp&gt;
@@ -49,7 +49,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.numeric.boolean.namespace"></a><h6>
-<a name="id807229"></a>
+<a name="id840413"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -81,14 +81,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.boolean.synopsis"></a><h6>
-<a name="id807408"></a>
+<a name="id840592"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.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">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BooleanPolicies</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">bool_parser</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.numeric.boolean.template_parameters"></a><h6>
-<a name="id807492"></a>
+<a name="id840676"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.template_parameters">Template
             parameters</a>
           </h6>
@@ -153,7 +153,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.boolean.model_of"></a><h6>
-<a name="id807654"></a>
+<a name="id840838"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -164,11 +164,6 @@
 <dl>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">BP</span></code></span></dt>
 <dd><p>
- An instance of <code class="computeroutput"><span class="identifier">bool_parser</span></code>
- (type).
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">BP</span></code></span></dt>
-<dd><p>
                   A boolean <code class="computeroutput"><span class="identifier">Policies</span></code>
                   (type).
                 </p></dd>
@@ -177,6 +172,11 @@
                   An object of <code class="computeroutput"><span class="identifier">B</span></code>,
                   the numeric base type.
                 </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">boolean</span></code></span></dt>
+<dd><p>
+ Numeric literal, any boolean value, or a <a class="link" href="../basics.html#spirit.qi.reference.basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a boolean value.
+ </p></dd>
 <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>
                   <a href="http://www.sgi.com/tech/stl/ForwardIterator.html" target="_top"><code class="computeroutput"><span class="identifier">ForwardIterator</span></code></a>. first/last
@@ -198,7 +198,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.numeric.boolean.expression_semantics"></a><h6>
-<a name="id807929"></a>
+<a name="id841111"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -227,50 +227,93 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">BP</span><span class="special">()</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bool_</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Instantiate and (default) construct a <code class="computeroutput"><span class="identifier">bool_parser</span></code>
+ Parse a boolean using the default policies (<code class="computeroutput"><span class="identifier">bool_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">bool_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">boolean</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">boolean</span><span class="special">)</span>
+<span class="identifier">bool_</span><span class="special">(</span><span class="identifier">boolean</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ Match the literal <code class="computeroutput"><span class="identifier">boolean</span></code>
+ using the default policies (<code class="computeroutput"><span class="identifier">bool_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">true_</span>
+<span class="identifier">false_</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">bool_parser</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">bool_policies</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ Match <code class="computeroutput"><span class="string">"true"</span></code>
+ and <code class="computeroutput"><span class="string">"false"</span></code>,
+ respectively.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">true_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bool_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">BoolPolicies</span>
+<span class="special">&gt;()</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">bool_parser</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">bool_policies</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
- which is succeeding only after matching <code class="computeroutput"><span class="string">"true"</span></code>.
+ Parse a real of type <code class="computeroutput"><span class="identifier">T</span></code>
+ using <code class="computeroutput"><span class="identifier">BoolPolicies</span></code>.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">false_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bool_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">BoolPolicies</span>
+<span class="special">&gt;()(</span><span class="identifier">boolean</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">bool_parser</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">bool_policies</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
- which is succeeding only after matching <code class="computeroutput"><span class="string">"false"</span></code>.
+ Match the literal <code class="computeroutput"><span class="identifier">boolean</span></code>
+ of type <code class="computeroutput"><span class="identifier">T</span></code> using
+ <code class="computeroutput"><span class="identifier">BoolPolicies</span></code>.
                     </p>
                   </td>
 </tr>
@@ -287,22 +330,95 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.numeric.boolean.attributes"></a><h6>
-<a name="id808326"></a>
+<a name="id841593"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.attributes">Attributes</a>
           </h6>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <code class="computeroutput"><span class="identifier">B</span></code>, The boolean type
- of the boolean parser.
- </p></blockquote></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">boolean</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">boolean</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">true_</span>
+<span class="identifier">false_</span>
+<span class="identifier">bool_</span>
+<span class="identifier">bool_</span><span class="special">(</span><span class="identifier">boolean</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bool_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">BoolPolicies</span>
+<span class="special">&gt;()</span>
+<span class="identifier">bool_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">BoolPolicies</span>
+<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
 <a name="spirit.qi.reference.numeric.boolean.complexity"></a><h6>
-<a name="id808362"></a>
+<a name="id841875"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of characters being parsed.
             </p></blockquote></div>
 <a name="spirit.qi.reference.numeric.boolean.minimum_expression_requirements_for__code__phrase_role__identifier__b__phrase___code_"></a><h6>
-<a name="id808390"></a>
+<a name="id841903"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.minimum_expression_requirements_for__code__phrase_role__identifier__b__phrase___code_">Minimum
             Expression Requirements for <code class="computeroutput"><span class="identifier">B</span></code></a>
           </h6>
@@ -342,7 +458,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.boolean.boolean__code__phrase_role__identifier__policies__phrase___code_"></a><h6>
-<a name="id808523"></a>
+<a name="id842036"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.boolean__code__phrase_role__identifier__policies__phrase___code_">Boolean
             <code class="computeroutput"><span class="identifier">Policies</span></code></a>
           </h6>
@@ -360,7 +476,7 @@
             and <code class="computeroutput"><span class="string">"false"</span></code>.
           </p>
 <a name="spirit.qi.reference.numeric.boolean.boolean__code__phrase_role__identifier__policies__phrase___code__expression_requirements"></a><h6>
-<a name="id808621"></a>
+<a name="id842134"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.boolean__code__phrase_role__identifier__policies__phrase___code__expression_requirements">Boolean
             <code class="computeroutput"><span class="identifier">Policies</span></code> Expression Requirements</a>
           </h6>
@@ -427,7 +543,7 @@
             or <code class="computeroutput"><span class="keyword">false</span></code>).
           </p>
 <a name="spirit.qi.reference.numeric.boolean.boolean__code__phrase_role__identifier__policies__phrase___code__specializations"></a><h6>
-<a name="id808938"></a>
+<a name="id842451"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.boolean__code__phrase_role__identifier__policies__phrase___code__specializations">Boolean
             <code class="computeroutput"><span class="identifier">Policies</span></code> Specializations</a>
           </h6>
@@ -457,7 +573,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.qi.reference.numeric.boolean.example"></a><h6>
-<a name="id809500"></a>
+<a name="id843013"></a>
             <a class="link" href="boolean.html#spirit.qi.reference.numeric.boolean.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -476,7 +592,9 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">val</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">lit</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">;</span>
 <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">bool_parser</span><span class="special">;</span>
 </pre>
 <p>
@@ -487,8 +605,21 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">);</span>
+<pre class="programlisting"><span class="comment">// bool
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">);</span>
 <span class="identifier">test_parser</span><span class="special">(</span><span class="string">"false"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"false"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">(</span><span class="keyword">false</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="keyword">true</span><span class="special">)));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"false"</span><span class="special">,</span> <span class="identifier">bool_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="keyword">false</span><span class="special">)));</span>
+
+<span class="comment">// literals
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"false"</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"false"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="keyword">false</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="keyword">true</span><span class="special">)));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"false"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="keyword">false</span><span class="special">)));</span>
 </pre>
 <p>
           </p>
@@ -531,6 +662,8 @@
 <pre class="programlisting"><span class="identifier">bool_parser</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">backwards_bool_policies</span><span class="special">&gt;</span> <span class="identifier">backwards_bool</span><span class="special">;</span>
 <span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">backwards_bool</span><span class="special">);</span>
 <span class="identifier">test_parser</span><span class="special">(</span><span class="string">"eurt"</span><span class="special">,</span> <span class="identifier">backwards_bool</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"true"</span><span class="special">,</span> <span class="identifier">backwards_bool</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"eurt"</span><span class="special">,</span> <span class="identifier">backwards_bool</span><span class="special">(</span><span class="keyword">false</span><span class="special">));</span>
 </pre>
 <p>
           </p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/int.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">int_</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.numeric.int.description"></a><h6>
-<a name="id798386"></a>
+<a name="id829494"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.description">Description</a>
           </h6>
 <p>
@@ -46,7 +46,7 @@
             type follows certain expression requirements (documented below).
           </p>
 <a name="spirit.qi.reference.numeric.int.header"></a><h6>
-<a name="id798479"></a>
+<a name="id829587"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/numeric/int.hpp&gt;
@@ -56,7 +56,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.numeric.int.namespace"></a><h6>
-<a name="id798578"></a>
+<a name="id829686"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -69,6 +69,12 @@
 <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">lit</span> <span class="comment">// alias:
+ boost::spirit::qi::lit</span></code>
+ </p>
+ </td></tr>
+<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">short_</span> <span class="comment">//
                       alias: boost::spirit::qi::short_</span></code>
                     </p>
@@ -107,7 +113,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.numeric.int.synopsis"></a><h6>
-<a name="id798853"></a>
+<a name="id830005"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
@@ -118,7 +124,7 @@
 <span class="keyword">struct</span> <span class="identifier">int_parser</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.numeric.int.template_parameters"></a><h6>
-<a name="id798973"></a>
+<a name="id830124"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.template_parameters">Template
             parameters</a>
           </h6>
@@ -171,8 +177,8 @@
                   </td>
 <td>
                     <p>
- The radix base. This can be either 2: binary, 8: octal, 10:
- decimal and 16: hexadecimal.
+ The radix base. This can be either 2 for binary, 8 for octal,
+ 10 for decimal and 16 for hexadecimal.
                     </p>
                   </td>
 <td>
@@ -219,7 +225,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.int.model_of"></a><h6>
-<a name="id799171"></a>
+<a name="id830323"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -228,20 +234,20 @@
 <div class="variablelist">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">NP</span></code></span></dt>
-<dd><p>
- An instance of <code class="computeroutput"><span class="identifier">int_parser</span></code>
- (type).
- </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">n</span></code></span></dt>
 <dd><p>
                   An object of <code class="computeroutput"><span class="identifier">T</span></code>,
                   the numeric base type.
                 </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">num</span></code></span></dt>
+<dd><p>
+ Numeric literal, any signed integer value, or a <a class="link" href="../basics.html#spirit.qi.reference.basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a signed integer value.
+ </p></dd>
 </dl>
 </div>
 <a name="spirit.qi.reference.numeric.int.expression_semantics"></a><h6>
-<a name="id799283"></a>
+<a name="id830432"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -270,64 +276,84 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">NP</span><span class="special">()</span></code>
- </p>
- </td>
-<td>
- <p>
- Instantiate and (default) construct an <code class="computeroutput"><span class="identifier">int_parser</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">short_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">short_</span>
+<span class="identifier">int_</span>
+<span class="identifier">long_</span>
+<span class="identifier">long_long</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">int_parser</span><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Parse a signed integer using the default radix (10).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">long_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">num</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">int_parser</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ using the default radix (10).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">int_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_parser</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>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">int_parser</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Parse a signed integer of type <code class="computeroutput"><span class="identifier">T</span></code>
+ using radix <code class="computeroutput"><span class="identifier">Radix</span></code>,
+ with a minimum of <code class="computeroutput"><span class="identifier">MinDigits</span></code>
+ and a maximum of <code class="computeroutput"><span class="identifier">MaxDigits</span></code>.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">long_long</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_parser</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">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">int_parser</span><span class="special">&lt;</span><span class="keyword">long</span>
- <span class="keyword">long</span><span class="special">,</span>
- <span class="number">10</span><span class="special">,</span>
- <span class="number">1</span><span class="special">,</span>
- <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ of type <code class="computeroutput"><span class="identifier">T</span></code> using
+ radix <code class="computeroutput"><span class="identifier">Radix</span></code>,
+ with a minimum of <code class="computeroutput"><span class="identifier">MinDigits</span></code>
+ and a maximum of <code class="computeroutput"><span class="identifier">MaxDigits</span></code>.
                     </p>
                   </td>
 </tr>
@@ -349,22 +375,144 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.numeric.int.attributes"></a><h6>
-<a name="id799789"></a>
+<a name="id830982"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.attributes">Attributes</a>
           </h6>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <code class="computeroutput"><span class="identifier">T</span></code>, The numeric base
- type of the numeric parser.
- </p></blockquote></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">num</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">short_</span>
+<span class="identifier">short_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">short</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_</span>
+<span class="identifier">int_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">long_</span>
+<span class="identifier">long_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">long_long</span>
+<span class="identifier">long_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">long_long_type</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">int_parser</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">int_parser</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">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
 <a name="spirit.qi.reference.numeric.int.complexity"></a><h6>
-<a name="id799826"></a>
+<a name="id831472"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of digits being parsed plus the sign.
             </p></blockquote></div>
 <a name="spirit.qi.reference.numeric.int.minimum_expression_requirements_for__code__phrase_role__identifier__t__phrase___code_"></a><h6>
-<a name="id799854"></a>
+<a name="id831500"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.minimum_expression_requirements_for__code__phrase_role__identifier__t__phrase___code_">Minimum
             Expression Requirements for <code class="computeroutput"><span class="identifier">T</span></code></a>
           </h6>
@@ -525,7 +673,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.int.example"></a><h6>
-<a name="id800521"></a>
+<a name="id832166"></a>
             <a class="link" href="int.html#spirit.qi.reference.numeric.int.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -544,7 +692,9 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">int_</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">val</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">lit</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">int_</span><span class="special">;</span>
 </pre>
 <p>
           </p>
@@ -554,8 +704,21 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">);</span>
+<pre class="programlisting"><span class="comment">// signed int
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">);</span>
 <span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">(</span><span class="number">12345</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">(-</span><span class="number">12345</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">12345</span><span class="special">)));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345"</span><span class="special">,</span> <span class="identifier">int_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(-</span><span class="number">12345</span><span class="special">)));</span>
+
+<span class="comment">// literals
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345"</span><span class="special">,</span> <span class="special">-</span><span class="number">12345</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="number">12345</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(-</span><span class="number">12345</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">12345</span><span class="special">)));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(-</span><span class="number">12345</span><span class="special">)));</span>
 </pre>
 <p>
           </p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/real.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">float_</span></code>, <code class="computeroutput"><span class="identifier">double_</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.numeric.real.description"></a><h6>
-<a name="id800719"></a>
+<a name="id832856"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             (documented below).
           </p>
 <a name="spirit.qi.reference.numeric.real.header"></a><h6>
-<a name="id800777"></a>
+<a name="id832913"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/numeric/real.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.numeric.real.namespace"></a><h6>
-<a name="id800876"></a>
+<a name="id833012"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -64,6 +64,12 @@
 <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">lit</span> <span class="comment">// alias:
+ boost::spirit::qi::lit</span></code>
+ </p>
+ </td></tr>
+<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">float_</span> <span class="comment">//
                       alias: boost::spirit::qi::float_</span></code>
                     </p>
@@ -83,14 +89,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.real.synopsis"></a><h6>
-<a name="id801055"></a>
+<a name="id833235"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.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">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RealPolicies</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">real_parser</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.numeric.real.template_parameters"></a><h6>
-<a name="id801138"></a>
+<a name="id833319"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.template_parameters">Template
             parameters</a>
           </h6>
@@ -155,7 +161,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.real.model_of"></a><h6>
-<a name="id801291"></a>
+<a name="id833471"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -164,21 +170,21 @@
 <div class="variablelist">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">NP</span></code></span></dt>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">n</span></code></span></dt>
 <dd><p>
- An instance of <code class="computeroutput"><span class="identifier">real_parser</span></code>
- (type).
+ An object of <code class="computeroutput"><span class="identifier">T</span></code>,
+ the numeric base type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">num</span></code></span></dt>
+<dd><p>
+ Numeric literal, any real value, or a <a class="link" href="../basics.html#spirit.qi.reference.basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a real value.
                 </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">RP</span></code></span></dt>
 <dd><p>
                   A <code class="computeroutput"><span class="identifier">RealPolicies</span></code>
                   (type).
                 </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">n</span></code></span></dt>
-<dd><p>
- An object of <code class="computeroutput"><span class="identifier">T</span></code>,
- the numeric base type.
- </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">exp</span></code></span></dt>
 <dd><p>
                   A <code class="computeroutput"><span class="keyword">int</span></code> exponent.
@@ -195,7 +201,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.numeric.real.expression_semantics"></a><h6>
-<a name="id801542"></a>
+<a name="id833720"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -224,66 +230,198 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">NP</span><span class="special">()</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">float_</span>
+<span class="identifier">double_</span>
+<span class="identifier">long_double</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Instantiate and (default) construct an <code class="computeroutput"><span class="identifier">real_parser</span></code>
+ Parse a real using the default policies (<code class="computeroutput"><span class="identifier">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">float_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">num</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">float_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">double_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">long_double</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">real_parser</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="identifier">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ using the default policies (<code class="computeroutput"><span class="identifier">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">double_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">RealPolicies</span>
+<span class="special">&gt;()</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">real_parser</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ Parse a real of type <code class="computeroutput"><span class="identifier">T</span></code>
+ using <code class="computeroutput"><span class="identifier">RealPolicies</span></code>.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">long_double</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">RealPolicies</span>
+<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create an <code class="computeroutput"><span class="identifier">real_parser</span><span class="special">&lt;</span><span class="keyword">long</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">real_policies</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span>
- <span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ of type <code class="computeroutput"><span class="identifier">T</span></code> using
+ <code class="computeroutput"><span class="identifier">RealPolicies</span></code>.
                     </p>
                   </td>
 </tr>
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.real.attributes"></a><h6>
-<a name="id801891"></a>
+<a name="id834164"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.attributes">Attributes</a>
           </h6>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <code class="computeroutput"><span class="identifier">T</span></code>, The numeric base
- type of the numeric parser.
- </p></blockquote></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">num</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">float_</span>
+<span class="identifier">float_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">float</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">double_</span>
+<span class="identifier">double_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">double</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">long_double</span>
+<span class="identifier">long_double</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">real_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">RealPolicies</span>
+<span class="special">&gt;()</span>
+<span class="identifier">real_parser</span><span class="special">&lt;</span>
+ <span class="identifier">T</span><span class="special">,</span> <span class="identifier">RealPolicies</span>
+<span class="special">&gt;()(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
 <a name="spirit.qi.reference.numeric.real.complexity"></a><h6>
-<a name="id801927"></a>
+<a name="id834553"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -291,7 +429,7 @@
               sign, etc.) being parsed.
             </p></blockquote></div>
 <a name="spirit.qi.reference.numeric.real.minimum_expression_requirements_for__code__phrase_role__identifier__t__phrase___code_"></a><h6>
-<a name="id801956"></a>
+<a name="id834582"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.minimum_expression_requirements_for__code__phrase_role__identifier__t__phrase___code_">Minimum
             Expression Requirements for <code class="computeroutput"><span class="identifier">T</span></code></a>
           </h6>
@@ -513,7 +651,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.numeric.real._code__phrase_role__identifier__realpolicies__phrase___code_"></a><h6>
-<a name="id803060"></a>
+<a name="id835685"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real._code__phrase_role__identifier__realpolicies__phrase___code_"><code class="computeroutput"><span class="identifier">RealPolicies</span></code></a>
           </h6>
 <p>
@@ -661,7 +799,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.numeric.real._code__phrase_role__identifier__realpolicies__phrase___code__expression_requirements"></a><h6>
-<a name="id804084"></a>
+<a name="id836710"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real._code__phrase_role__identifier__realpolicies__phrase___code__expression_requirements"><code class="computeroutput"><span class="identifier">RealPolicies</span></code> Expression Requirements</a>
           </h6>
 <p>
@@ -875,7 +1013,7 @@
             be automatically applied afterwards.
           </p>
 <a name="spirit.qi.reference.numeric.real._code__phrase_role__identifier__realpolicies__phrase___code__specializations"></a><h6>
-<a name="id805111"></a>
+<a name="id837736"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real._code__phrase_role__identifier__realpolicies__phrase___code__specializations"><code class="computeroutput"><span class="identifier">RealPolicies</span></code> Specializations</a>
           </h6>
 <p>
@@ -891,7 +1029,7 @@
 <span class="special">};</span>
 </pre>
 <a name="spirit.qi.reference.numeric.real.example"></a><h6>
-<a name="id805287"></a>
+<a name="id837912"></a>
             <a class="link" href="real.html#spirit.qi.reference.numeric.real.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -910,7 +1048,9 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">val</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">lit</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">double_</span><span class="special">;</span>
 <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">real_parser</span><span class="special">;</span>
 </pre>
 <p>
@@ -921,7 +1061,21 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">);</span>
+<pre class="programlisting"><span class="comment">// double
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">(</span><span class="number">12345e6</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">(-</span><span class="number">123456e6</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">12345e6</span><span class="special">)));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345e6"</span><span class="special">,</span> <span class="identifier">double_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(-</span><span class="number">123456e6</span><span class="special">)));</span>
+
+<span class="comment">// literals
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="number">12345e6</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345e6"</span><span class="special">,</span> <span class="special">-</span><span class="number">12345e6</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="number">12345e6</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345e6"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(-</span><span class="number">123456e6</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"+12345e6"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">12345e6</span><span class="special">)));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"-12345e6"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(-</span><span class="number">123456e6</span><span class="special">)));</span>
 </pre>
 <p>
           </p>
@@ -1008,6 +1162,7 @@
 </p>
 <pre class="programlisting"><span class="identifier">real_parser</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">ts_real_policies</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ts_real</span><span class="special">;</span>
 <span class="identifier">test_parser</span><span class="special">(</span><span class="string">"123,456,789.01"</span><span class="special">,</span> <span class="identifier">ts_real</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"123,456,789.01"</span><span class="special">,</span> <span class="identifier">ts_real</span><span class="special">(</span><span class="number">123456789.01</span><span class="special">));</span>
 </pre>
 <p>
           </p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/numeric/uint.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Parsers (<code class="computeroutput"><span class="identifier">uint_</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.numeric.uint.description"></a><h6>
-<a name="id795507"></a>
+<a name="id825795"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.description">Description</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
             is a template class. Template parameters fine tune its behavior.
           </p>
 <a name="spirit.qi.reference.numeric.uint.header"></a><h6>
-<a name="id795576"></a>
+<a name="id825864"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/numeric/uint.hpp&gt;
@@ -52,7 +52,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.numeric.uint.namespace"></a><h6>
-<a name="id795675"></a>
+<a name="id825963"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -65,6 +65,12 @@
 <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">lit</span> <span class="comment">// alias:
+ boost::spirit::qi::lit</span></code>
+ </p>
+ </td></tr>
+<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">bin</span> <span class="comment">// alias:
                       boost::spirit::qi::bin</span></code>
                     </p>
@@ -121,7 +127,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.numeric.uint.synopsis"></a><h6>
-<a name="id796081"></a>
+<a name="id826412"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
@@ -132,7 +138,7 @@
 <span class="keyword">struct</span> <span class="identifier">uint_parser</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.numeric.uint.template_parameters"></a><h6>
-<a name="id796200"></a>
+<a name="id826532"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.template_parameters">Template
             parameters</a>
           </h6>
@@ -185,8 +191,8 @@
                   </td>
 <td>
                     <p>
- The radix base. This can be either 2: binary, 8: octal, 10:
- decimal and 16: hexadecimal.
+ The radix base. This can be either 2 for binary, 8 for octal,
+ 10 for decimal and 16 for hexadecimal.
                     </p>
                   </td>
 <td>
@@ -233,7 +239,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.uint.model_of"></a><h6>
-<a name="id796399"></a>
+<a name="id826730"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -242,20 +248,20 @@
 <div class="variablelist">
 <p class="title"><b>Notation</b></p>
 <dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">NP</span></code></span></dt>
-<dd><p>
- An instance of <code class="computeroutput"><span class="identifier">uint_parser</span></code>
- (type).
- </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">n</span></code></span></dt>
 <dd><p>
                   An object of <code class="computeroutput"><span class="identifier">T</span></code>,
                   the numeric base type.
                 </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">num</span></code></span></dt>
+<dd><p>
+ Numeric literal, any unsigned integer value, or a <a class="link" href="../basics.html#spirit.qi.reference.basics.lazy_argument">Lazy
+ Argument</a> that evaluates to a unsigned integer value.
+ </p></dd>
 </dl>
 </div>
 <a name="spirit.qi.reference.numeric.uint.expression_semantics"></a><h6>
-<a name="id796511"></a>
+<a name="id826840"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -284,146 +290,290 @@
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">NP</span><span class="special">()</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort_</span>
+<span class="identifier">uint_</span>
+<span class="identifier">ulong_</span>
+<span class="identifier">ulong_long</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Instantiate and (default) construct a <code class="computeroutput"><span class="identifier">uint_parser</span></code>
+ Parse an unsigned integer using the default radix (10).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">bin</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">num</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">ushort_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">uint_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">ulong_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ using the default radix (10).
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">oct</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bin</span>
+<span class="identifier">oct</span>
+<span class="identifier">hex</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Parse an unsigned integer using radix 2 for <code class="computeroutput"><span class="identifier">bin</span></code>,
+ radix 8 for <code class="computeroutput"><span class="identifier">oct</span></code>,
+ and radix 16 for <code class="computeroutput"><span class="identifier">hex</span></code>.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">hex</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bin</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">oct</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">hex</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">,</span> <span class="number">16</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ using radix 2 for <code class="computeroutput"><span class="identifier">bin</span></code>,
+ radix 8 for <code class="computeroutput"><span class="identifier">oct</span></code>,
+ and radix 16 for <code class="computeroutput"><span class="identifier">hex</span></code>.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ushort_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_parser</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>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span>
- <span class="keyword">short</span><span class="special">,</span>
- <span class="number">10</span><span class="special">,</span>
- <span class="number">1</span><span class="special">,</span>
- <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Parse an unsigned integer of type <code class="computeroutput"><span class="identifier">T</span></code>
+ using radix <code class="computeroutput"><span class="identifier">Radix</span></code>,
+ with a minimum of <code class="computeroutput"><span class="identifier">MinDigits</span></code>
+ and a maximum of <code class="computeroutput"><span class="identifier">MaxDigits</span></code>.
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ulong_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_parser</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">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span>
- <span class="keyword">long</span><span class="special">,</span>
- <span class="number">10</span><span class="special">,</span>
- <span class="number">1</span><span class="special">,</span>
- <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ Match the literal <code class="computeroutput"><span class="identifier">num</span></code>
+ of type <code class="computeroutput"><span class="identifier">T</span></code> using
+ radix <code class="computeroutput"><span class="identifier">Radix</span></code>,
+ with a minimum of <code class="computeroutput"><span class="identifier">MinDigits</span></code>
+ and a maximum of <code class="computeroutput"><span class="identifier">MaxDigits</span></code>.
                     </p>
                   </td>
 </tr>
+</tbody>
+</table></div>
+<div class="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>
+ All numeric parsers check for overflow conditions based on the type
+ <code class="computeroutput"><span class="identifier">T</span></code> the corresponding
+ <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;&gt;</span></code>
+ has been instantiated with. If the parsed number overflows this type
+ the parsing fails. Please be aware that the overflow check is not based
+ on the type of the supplied attribute but solely depends on the template
+ parameter <code class="computeroutput"><span class="identifier">T</span></code>.
+ </p></td></tr>
+</table></div>
+<a name="spirit.qi.reference.numeric.uint.attributes"></a><h6>
+<a name="id827580"></a>
+ <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.attributes">Attributes</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Attribute
+ </p>
+ </th>
+</tr></thead>
+<tbody>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">uint_</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">num</span>
+<span class="identifier">lit</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span>
- <span class="keyword">int</span><span class="special">,</span>
- <span class="number">10</span><span class="special">,</span>
- <span class="number">1</span><span class="special">,</span>
- <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ <code class="computeroutput"><span class="identifier">unused</span></code>
                     </p>
                   </td>
 </tr>
 <tr>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">ulong_long</span></code>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ushort_</span>
+<span class="identifier">ushort_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
                     </p>
                   </td>
 <td>
                     <p>
- Create a <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">unsigned</span>
- <span class="keyword">long</span> <span class="keyword">long</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">&gt;</span></code>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">short</span></code>
                     </p>
                   </td>
 </tr>
-</tbody>
-</table></div>
-<div class="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>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_</span>
+<span class="identifier">uint_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">bin</span>
+<span class="identifier">bin</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">oct</span>
+<span class="identifier">oct</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+<span class="identifier">hex</span>
+<span class="identifier">hex</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span></code>
+ </p>
+ </td>
 </tr>
-<tr><td align="left" valign="top"><p>
- All numeric parsers check for overflow conditions based on the type
- <code class="computeroutput"><span class="identifier">T</span></code> the corresponding
- <code class="computeroutput"><span class="identifier">uint_parser</span><span class="special">&lt;&gt;</span></code>
- has been instantiated with. If the parsed number overflows this type
- the parsing fails. Please be aware that the overflow check is not based
- on the type of the supplied attribute but solely depends on the template
- parameter <code class="computeroutput"><span class="identifier">T</span></code>.
- </p></td></tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ulong_</span>
+<span class="identifier">ulong_</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">ulong_long</span>
+<span class="identifier">ulong_long</span><span class="special">(</span><span class="identifier">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ulong_long_type</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">uint_parser</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">uint_parser</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">num</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
 </table></div>
-<a name="spirit.qi.reference.numeric.uint.attributes"></a><h6>
-<a name="id797294"></a>
- <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.attributes">Attributes</a>
- </h6>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <code class="computeroutput"><span class="identifier">T</span></code>, The numeric base
- type of the numeric parser.
- </p></blockquote></div>
 <a name="spirit.qi.reference.numeric.uint.complexity"></a><h6>
-<a name="id797330"></a>
+<a name="id828152"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of digits being parsed.
             </p></blockquote></div>
 <a name="spirit.qi.reference.numeric.uint.minimum_expression_requirements_for__code__phrase_role__identifier__t__phrase___code_"></a><h6>
-<a name="id797357"></a>
+<a name="id828179"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.minimum_expression_requirements_for__code__phrase_role__identifier__t__phrase___code_">Minimum
             Expression Requirements for <code class="computeroutput"><span class="identifier">T</span></code></a>
           </h6>
@@ -571,7 +721,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.numeric.uint.example"></a><h6>
-<a name="id797987"></a>
+<a name="id828809"></a>
             <a class="link" href="uint.html#spirit.qi.reference.numeric.uint.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -590,7 +740,9 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">uint_</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">val</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">lit</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">uint_</span><span class="special">;</span>
 <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">qi</span><span class="special">::</span><span class="identifier">uint_parser</span><span class="special">;</span>
 </pre>
 <p>
@@ -601,7 +753,15 @@
 <p>
             
 </p>
-<pre class="programlisting"><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="identifier">uint_</span><span class="special">);</span>
+<pre class="programlisting"><span class="comment">// unsigned int
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="identifier">uint_</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="identifier">uint_</span><span class="special">(</span><span class="number">12345</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="identifier">uint_</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">12345</span><span class="special">)));</span>
+
+<span class="comment">// literals
+</span><span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="number">12345</span><span class="special">));</span>
+<span class="identifier">test_parser</span><span class="special">(</span><span class="string">"12345"</span><span class="special">,</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">12345</span><span class="special">)));</span>
 </pre>
 <p>
           </p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -79,7 +79,7 @@
           (<code class="computeroutput"><span class="special">||</span></code>).
         </p>
 <a name="spirit.qi.reference.operator.module_header"></a><h6>
-<a name="id810530"></a>
+<a name="id844606"></a>
           <a class="link" href="operator.html#spirit.qi.reference.operator.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/alternative.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.alternative.description"></a><h6>
-<a name="id810664"></a>
+<a name="id844741"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.description">Description</a>
           </h6>
 <p>
@@ -60,7 +60,7 @@
             to put the (expected) most common choice first for maximum efficiency.
           </p>
 <a name="spirit.qi.reference.operator.alternative.header"></a><h6>
-<a name="id810879"></a>
+<a name="id844955"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/alternative.hpp&gt;
@@ -70,7 +70,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.alternative.model_of"></a><h6>
-<a name="id810977"></a>
+<a name="id845054"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.model_of">Model
             of</a>
           </h6>
@@ -87,7 +87,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.alternative.expression_semantics"></a><h6>
-<a name="id811072"></a>
+<a name="id845148"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -128,7 +128,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.alternative.attributes"></a><h6>
-<a name="id811205"></a>
+<a name="id845281"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.attributes">Attributes</a>
           </h6>
 <p>
@@ -187,7 +187,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.operator.alternative.complexity"></a><h6>
-<a name="id811895"></a>
+<a name="id845972"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -196,7 +196,7 @@
               parser itself is O(N), where N is the number of alternatives.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.alternative.example"></a><h6>
-<a name="id811924"></a>
+<a name="id846001"></a>
             <a class="link" href="alternative.html#spirit.qi.reference.operator.alternative.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/and_predicate.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Parser (<code class="computeroutput"><span class="special">&amp;</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.and_predicate.description"></a><h6>
-<a name="id812799"></a>
+<a name="id846875"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             if its predicate matches.
           </p>
 <a name="spirit.qi.reference.operator.and_predicate.header"></a><h6>
-<a name="id812859"></a>
+<a name="id846935"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/and_predicate.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.and_predicate.model_of"></a><h6>
-<a name="id812958"></a>
+<a name="id847034"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.model_of">Model
             of</a>
           </h6>
@@ -68,7 +68,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.and_predicate.expression_semantics"></a><h6>
-<a name="id813042"></a>
+<a name="id847119"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -108,7 +108,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.and_predicate.attributes"></a><h6>
-<a name="id813159"></a>
+<a name="id847236"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.attributes">Attributes</a>
           </h6>
 <p>
@@ -146,14 +146,14 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.and_predicate.complexity"></a><h6>
-<a name="id813265"></a>
+<a name="id847343"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               The complexity is defined by the complexity of the predicate, <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.and_predicate.example"></a><h6>
-<a name="id813303"></a>
+<a name="id847380"></a>
             <a class="link" href="and_predicate.html#spirit.qi.reference.operator.and_predicate.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/difference.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,17 +29,17 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.difference.description"></a><h6>
-<a name="id813509"></a>
+<a name="id847587"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.description">Description</a>
           </h6>
 <p>
             The difference operator, <code class="computeroutput"><span class="identifier">a</span>
             <span class="special">-</span> <span class="identifier">b</span></code>,
             is a binary operator that matches the first (LHS) operand but not the
- second (RHS). <sup>[<a name="id813546" href="#ftn.id813546" class="footnote">8</a>]</sup>
+ second (RHS). <sup>[<a name="id847624" href="#ftn.id847624" class="footnote">8</a>]</sup>
           </p>
 <a name="spirit.qi.reference.operator.difference.header"></a><h6>
-<a name="id813599"></a>
+<a name="id847677"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/difference.hpp&gt;
@@ -49,7 +49,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.difference.model_of"></a><h6>
-<a name="id813699"></a>
+<a name="id847776"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.model_of">Model
             of</a>
           </h6>
@@ -66,7 +66,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.difference.expression_semantics"></a><h6>
-<a name="id813793"></a>
+<a name="id847871"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -107,7 +107,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.difference.attributes"></a><h6>
-<a name="id813926"></a>
+<a name="id848003"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.attributes">Attributes</a>
           </h6>
 <p>
@@ -150,7 +150,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.difference.complexity"></a><h6>
-<a name="id814176"></a>
+<a name="id848253"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -158,7 +158,7 @@
               complexities of both operands.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.difference.example"></a><h6>
-<a name="id814204"></a>
+<a name="id848281"></a>
             <a class="link" href="difference.html#spirit.qi.reference.operator.difference.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -192,7 +192,7 @@
           </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id813546" href="#id813546" class="para">8</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id847624" href="#id847624" class="para">8</a>] </sup>
               Unlike classic Spirit, with Spirit2, the expression will always fail
               if the RHS is a successful match regardless if the RHS matches less
               characters. For example, the rule <code class="computeroutput"><span class="identifier">lit</span><span class="special">(</span><span class="string">"policeman"</span><span class="special">)</span> <span class="special">-</span> <span class="string">"police"</span></code> will always fail to

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/expect.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.expect.description"></a><h6>
-<a name="id814414"></a>
+<a name="id848492"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.description">Description</a>
           </h6>
 <p>
@@ -49,7 +49,7 @@
             (all operands except the first) fail to match.
           </p>
 <a name="spirit.qi.reference.operator.expect.header"></a><h6>
-<a name="id814589"></a>
+<a name="id848666"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/expect.hpp&gt;
@@ -59,7 +59,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.expect.model_of"></a><h6>
-<a name="id814686"></a>
+<a name="id848765"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -79,7 +79,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.expect.expectation_failure"></a><h6>
-<a name="id814816"></a>
+<a name="id848894"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.expectation_failure">Expectation
             Failure</a>
           </h6>
@@ -95,7 +95,7 @@
 </span><span class="special">};</span>
 </pre>
 <a name="spirit.qi.reference.operator.expect.expression_semantics"></a><h6>
-<a name="id815007"></a>
+<a name="id849085"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -136,7 +136,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.expect.attributes"></a><h6>
-<a name="id815185"></a>
+<a name="id849262"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.attributes">Attributes</a>
           </h6>
 <p>
@@ -186,7 +186,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.expect.complexity"></a><h6>
-<a name="id815993"></a>
+<a name="id850071"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -195,7 +195,7 @@
               operator itself is O(N), where N is the number of elements in the sequence.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.expect.example"></a><h6>
-<a name="id816022"></a>
+<a name="id850100"></a>
             <a class="link" href="expect.html#spirit.qi.reference.operator.expect.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/kleene.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="special">*</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.kleene.description"></a><h6>
-<a name="id816594"></a>
+<a name="id850672"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             is a unary operator that matches its operand zero or more times.
           </p>
 <a name="spirit.qi.reference.operator.kleene.header"></a><h6>
-<a name="id816633"></a>
+<a name="id850711"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/kleene.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.kleene.model_of"></a><h6>
-<a name="id816732"></a>
+<a name="id850809"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -62,7 +62,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.kleene.expression_semantics"></a><h6>
-<a name="id816816"></a>
+<a name="id850894"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -102,7 +102,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.kleene.attributes"></a><h6>
-<a name="id816931"></a>
+<a name="id851009"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.attributes">Attributes</a>
           </h6>
 <p>
@@ -144,7 +144,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.kleene.complexity"></a><h6>
-<a name="id817128"></a>
+<a name="id851205"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -154,7 +154,7 @@
               star itself is O(N), where N is the number successful repetitions.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.kleene.example"></a><h6>
-<a name="id817167"></a>
+<a name="id851244"></a>
             <a class="link" href="kleene.html#spirit.qi.reference.operator.kleene.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/list.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/list.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/list.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.operator.list"></a><a class="link" href="list.html" title="List Parser (a % b)">List Parser (<code class="computeroutput"><span class="identifier">a</span> <span class="special">%</span> <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.list.description"></a><h6>
-<a name="id817618"></a>
+<a name="id851695"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.description">Description</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
             <span class="special">&gt;&gt;</span> <span class="identifier">a</span><span class="special">)</span></code>.
           </p>
 <a name="spirit.qi.reference.operator.list.header"></a><h6>
-<a name="id817726"></a>
+<a name="id851803"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/list.hpp&gt;
@@ -50,7 +50,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.list.model_of"></a><h6>
-<a name="id817825"></a>
+<a name="id851903"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -66,7 +66,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.list.expression_semantics"></a><h6>
-<a name="id817920"></a>
+<a name="id851997"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -110,7 +110,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.list.attributes"></a><h6>
-<a name="id818093"></a>
+<a name="id852171"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.attributes">Attributes</a>
           </h6>
 <p>
@@ -153,7 +153,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.list.complexity"></a><h6>
-<a name="id818357"></a>
+<a name="id852433"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -163,7 +163,7 @@
               O(N), where N is the number successful repetitions.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.list.example"></a><h6>
-<a name="id818396"></a>
+<a name="id852473"></a>
             <a class="link" href="list.html#spirit.qi.reference.operator.list.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/not_predicate.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Parser (<code class="computeroutput"><span class="special">!</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.not_predicate.description"></a><h6>
-<a name="id818825"></a>
+<a name="id852902"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.description">Description</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
             if its predicate fails to match.
           </p>
 <a name="spirit.qi.reference.operator.not_predicate.header"></a><h6>
-<a name="id818884"></a>
+<a name="id852962"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/not_predicate.hpp&gt;
@@ -51,7 +51,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.not_predicate.model_of"></a><h6>
-<a name="id818983"></a>
+<a name="id853061"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.model_of">Model
             of</a>
           </h6>
@@ -68,7 +68,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.not_predicate.expression_semantics"></a><h6>
-<a name="id819068"></a>
+<a name="id853146"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -108,7 +108,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.not_predicate.attributes"></a><h6>
-<a name="id819184"></a>
+<a name="id853262"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.attributes">Attributes</a>
           </h6>
 <p>
@@ -146,14 +146,14 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.not_predicate.complexity"></a><h6>
-<a name="id819290"></a>
+<a name="id853368"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               The complexity is defined by the complexity of the predicate, <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.not_predicate.example"></a><h6>
-<a name="id819328"></a>
+<a name="id853405"></a>
             <a class="link" href="not_predicate.html#spirit.qi.reference.operator.not_predicate.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/optional.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="special">-</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.optional.description"></a><h6>
-<a name="id820002"></a>
+<a name="id854080"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             its operand zero or one time.
           </p>
 <a name="spirit.qi.reference.operator.optional.header"></a><h6>
-<a name="id820040"></a>
+<a name="id854118"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/optional.hpp&gt;
@@ -46,7 +46,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.optional.model_of"></a><h6>
-<a name="id820140"></a>
+<a name="id854218"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.model_of">Model
             of</a>
           </h6>
@@ -63,7 +63,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.optional.expression_semantics"></a><h6>
-<a name="id820225"></a>
+<a name="id854303"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -103,7 +103,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.optional.attributes"></a><h6>
-<a name="id820340"></a>
+<a name="id854418"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.attributes">Attributes</a>
           </h6>
 <p>
@@ -145,14 +145,14 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.optional.complexity"></a><h6>
-<a name="id820537"></a>
+<a name="id854614"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               The complexity is defined by the complexity of the operand, <code class="computeroutput"><span class="identifier">a</span></code>
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.optional.example"></a><h6>
-<a name="id820575"></a>
+<a name="id854652"></a>
             <a class="link" href="optional.html#spirit.qi.reference.operator.optional.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -180,7 +180,7 @@
 <p>
           </p>
 <p>
- Parse a person info with name (in quotes) optional age <sup>[<a name="id820838" href="#ftn.id820838" class="footnote">9</a>]</sup> and optional sex, all separated by comma.
+ Parse a person info with name (in quotes) optional age <sup>[<a name="id854916" href="#ftn.id854916" class="footnote">9</a>]</sup> and optional sex, all separated by comma.
           </p>
 <p>
             
@@ -206,7 +206,7 @@
           </p>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id820838" href="#id820838" class="para">9</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id854916" href="#id854916" class="para">9</a>] </sup>
               James Bond is shy about his age :-)
             </p></div>
 </div>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/permutation.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.permutation.description"></a><h6>
-<a name="id821475"></a>
+<a name="id855553"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.description">Description</a>
           </h6>
 <p>
@@ -57,7 +57,7 @@
 <pre class="programlisting"><span class="string">"a"</span><span class="special">,</span> <span class="string">"ab"</span><span class="special">,</span> <span class="string">"abc"</span><span class="special">,</span> <span class="string">"cba"</span><span class="special">,</span> <span class="string">"bca"</span> <span class="special">...</span> <span class="identifier">etc</span><span class="special">.</span>
 </pre>
 <a name="spirit.qi.reference.operator.permutation.header"></a><h6>
-<a name="id821700"></a>
+<a name="id855779"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/permutation.hpp&gt;
@@ -67,7 +67,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.permutation.model_of"></a><h6>
-<a name="id821800"></a>
+<a name="id855878"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.model_of">Model
             of</a>
           </h6>
@@ -84,7 +84,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.permutation.expression_semantics"></a><h6>
-<a name="id821894"></a>
+<a name="id855972"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -127,7 +127,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.permutation.attributes"></a><h6>
-<a name="id822028"></a>
+<a name="id856106"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.attributes">Attributes</a>
           </h6>
 <p>
@@ -172,7 +172,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.permutation.complexity"></a><h6>
-<a name="id822498"></a>
+<a name="id856577"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -182,7 +182,7 @@
               is the number of elements.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.permutation.example"></a><h6>
-<a name="id822526"></a>
+<a name="id672395"></a>
             <a class="link" href="permutation.html#spirit.qi.reference.operator.permutation.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/plus.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.operator.plus"></a><a class="link" href="plus.html" title="Plus Parser (+a)">Plus Parser (<code class="computeroutput"><span class="special">+</span><span class="identifier">a</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.plus.description"></a><h6>
-<a name="id822740"></a>
+<a name="id856887"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.description">Description</a>
           </h6>
 <p>
@@ -35,7 +35,7 @@
             is a unary operator that matches its operand one or more times.
           </p>
 <a name="spirit.qi.reference.operator.plus.header"></a><h6>
-<a name="id822779"></a>
+<a name="id856926"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/plus.hpp&gt;
@@ -45,7 +45,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.plus.model_of"></a><h6>
-<a name="id822877"></a>
+<a name="id857024"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -61,7 +61,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.plus.expression_semantics"></a><h6>
-<a name="id822961"></a>
+<a name="id857108"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -101,7 +101,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.plus.attributes"></a><h6>
-<a name="id823076"></a>
+<a name="id857223"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.attributes">Attributes</a>
           </h6>
 <p>
@@ -143,7 +143,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.plus.complexity"></a><h6>
-<a name="id823274"></a>
+<a name="id857420"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -153,7 +153,7 @@
               O(N), where N is the number successful repetitions.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.plus.example"></a><h6>
-<a name="id823313"></a>
+<a name="id857460"></a>
             <a class="link" href="plus.html#spirit.qi.reference.operator.plus.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequence.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.sequence.description"></a><h6>
-<a name="id823731"></a>
+<a name="id857878"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.description">Description</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
 <pre class="programlisting"><span class="identifier">a</span> <span class="special">&gt;&gt;</span> <span class="identifier">b</span> <span class="special">&gt;&gt;</span> <span class="special">...</span>
 </pre>
 <a name="spirit.qi.reference.operator.sequence.header"></a><h6>
-<a name="id823830"></a>
+<a name="id857977"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/sequence.hpp&gt;
@@ -50,7 +50,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.sequence.model_of"></a><h6>
-<a name="id823929"></a>
+<a name="id858076"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.model_of">Model
             of</a>
           </h6>
@@ -67,7 +67,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.sequence.expression_semantics"></a><h6>
-<a name="id824024"></a>
+<a name="id858171"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -108,7 +108,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.sequence.attributes"></a><h6>
-<a name="id824157"></a>
+<a name="id858304"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.attributes">Attributes</a>
           </h6>
 <p>
@@ -158,7 +158,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.sequence.complexity"></a><h6>
-<a name="id824965"></a>
+<a name="id859111"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -167,7 +167,7 @@
               itself is O(N), where N is the number of elements in the sequence.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.sequence.example"></a><h6>
-<a name="id824994"></a>
+<a name="id859140"></a>
             <a class="link" href="sequence.html#spirit.qi.reference.operator.sequence.example">Example</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/operator/sequential_or.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -29,7 +29,7 @@
           <span class="identifier">b</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.operator.sequential_or.description"></a><h6>
-<a name="id825890"></a>
+<a name="id860038"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.description">Description</a>
           </h6>
 <p>
@@ -45,7 +45,7 @@
 <pre class="programlisting"><span class="identifier">a</span> <span class="special">||</span> <span class="identifier">b</span> <span class="special">||</span> <span class="special">...</span>
 </pre>
 <a name="spirit.qi.reference.operator.sequential_or.header"></a><h6>
-<a name="id826068"></a>
+<a name="id860215"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/operator/sequential_or.hpp&gt;
@@ -55,7 +55,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.operator.sequential_or.model_of"></a><h6>
-<a name="id826168"></a>
+<a name="id860314"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.model_of">Model
             of</a>
           </h6>
@@ -72,7 +72,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.operator.sequential_or.expression_semantics"></a><h6>
-<a name="id826263"></a>
+<a name="id860409"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -115,7 +115,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.operator.sequential_or.attributes"></a><h6>
-<a name="id826432"></a>
+<a name="id860579"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.attributes">Attributes</a>
           </h6>
 <p>
@@ -186,7 +186,7 @@
 </td></tr>
 </table></div>
 <a name="spirit.qi.reference.operator.sequential_or.complexity"></a><h6>
-<a name="id827192"></a>
+<a name="id861339"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -195,7 +195,7 @@
               itself is O(N), where N is the number of elements in the sequence.
             </p></blockquote></div>
 <a name="spirit.qi.reference.operator.sequential_or.example"></a><h6>
-<a name="id827222"></a>
+<a name="id861368"></a>
             <a class="link" href="sequential_or.html#spirit.qi.reference.operator.sequential_or.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/create_parser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           for Automatic Parser Creation</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parse_api.create_parser.description"></a><h6>
-<a name="id753208"></a>
+<a name="id780738"></a>
             <a class="link" href="create_parser.html#spirit.qi.reference.parse_api.create_parser.description">Description</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
             parser can be utilized to match input for the provided attribute.
           </p>
 <a name="spirit.qi.reference.parse_api.create_parser.header"></a><h6>
-<a name="id753235"></a>
+<a name="id780764"></a>
             <a class="link" href="create_parser.html#spirit.qi.reference.parse_api.create_parser.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/auto.hpp&gt;
@@ -49,7 +49,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.parse_api.create_parser.namespace"></a><h6>
-<a name="id753333"></a>
+<a name="id780863"></a>
             <a class="link" href="create_parser.html#spirit.qi.reference.parse_api.create_parser.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -73,7 +73,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parse_api.create_parser.synopsis"></a><h6>
-<a name="id753474"></a>
+<a name="id781004"></a>
             <a class="link" href="create_parser.html#spirit.qi.reference.parse_api.create_parser.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">spirit</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">qi</span>
@@ -281,7 +281,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.parse_api.create_parser.template_parameters"></a><h6>
-<a name="id754605"></a>
+<a name="id782134"></a>
             <a class="link" href="create_parser.html#spirit.qi.reference.parse_api.create_parser.template_parameters">Template
             parameters</a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/iterator_api.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Based Parser API</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parse_api.iterator_api.description"></a><h6>
-<a name="id748258"></a>
+<a name="id775787"></a>
             <a class="link" href="iterator_api.html#spirit.qi.reference.parse_api.iterator_api.description">Description</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
             successful parse.
           </p>
 <a name="spirit.qi.reference.parse_api.iterator_api.header"></a><h6>
-<a name="id748306"></a>
+<a name="id775835"></a>
             <a class="link" href="iterator_api.html#spirit.qi.reference.parse_api.iterator_api.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/parse.hpp&gt;
@@ -70,7 +70,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.parse_api.iterator_api.namespace"></a><h6>
-<a name="id748562"></a>
+<a name="id776092"></a>
             <a class="link" href="iterator_api.html#spirit.qi.reference.parse_api.iterator_api.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -104,7 +104,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parse_api.iterator_api.synopsis"></a><h6>
-<a name="id748814"></a>
+<a name="id776343"></a>
             <a class="link" href="iterator_api.html#spirit.qi.reference.parse_api.iterator_api.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">spirit</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">qi</span>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parse_api/stream_api.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           Based Parser API</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parse_api.stream_api.description"></a><h6>
-<a name="id750885"></a>
+<a name="id778415"></a>
             <a class="link" href="stream_api.html#spirit.qi.reference.parse_api.stream_api.description">Description</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
             successful parse.
           </p>
 <a name="spirit.qi.reference.parse_api.stream_api.header"></a><h6>
-<a name="id750942"></a>
+<a name="id778472"></a>
             <a class="link" href="stream_api.html#spirit.qi.reference.parse_api.stream_api.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/stream/match_manip.hpp&gt;
@@ -72,7 +72,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.parse_api.stream_api.namespace"></a><h6>
-<a name="id751199"></a>
+<a name="id778728"></a>
             <a class="link" href="stream_api.html#spirit.qi.reference.parse_api.stream_api.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -106,7 +106,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parse_api.stream_api.synopsis"></a><h6>
-<a name="id751451"></a>
+<a name="id778981"></a>
             <a class="link" href="stream_api.html#spirit.qi.reference.parse_api.stream_api.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">spirit</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">qi</span>
@@ -204,7 +204,7 @@
             to the corresponding argument.
           </p>
 <a name="spirit.qi.reference.parse_api.stream_api.template_parameters"></a><h6>
-<a name="id753009"></a>
+<a name="id780538"></a>
             <a class="link" href="stream_api.html#spirit.qi.reference.parse_api.stream_api.template_parameters">Template
             parameters</a>
           </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/binaryparser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.parser_concepts.binaryparser"></a><a class="link" href="binaryparser.html" title="BinaryParser">BinaryParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.description"></a><h6>
-<a name="id740610"></a>
+<a name="id768044"></a>
             <a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             following the Composite Design Pattern.
           </p>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.refinement_of"></a><h6>
-<a name="id740675"></a>
+<a name="id768109"></a>
             <a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -58,7 +58,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.valid_expressions"></a><h6>
-<a name="id740766"></a>
+<a name="id768200"></a>
             <a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -127,7 +127,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.type_expressions"></a><h6>
-<a name="id740961"></a>
+<a name="id768395"></a>
             <a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -192,7 +192,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.invariants"></a><h6>
-<a name="id741198"></a>
+<a name="id768631"></a>
             <a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.invariants">Invariants</a>
           </h6>
 <p>
@@ -208,7 +208,7 @@
               </li>
 </ul></div>
 <a name="spirit.qi.reference.parser_concepts.binaryparser.models"></a><h6>
-<a name="id741380"></a>
+<a name="id768814"></a>
             <a class="link" href="binaryparser.html#spirit.qi.reference.parser_concepts.binaryparser.models">Models</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/naryparser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.parser_concepts.naryparser"></a><a class="link" href="naryparser.html" title="NaryParser">NaryParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.description"></a><h6>
-<a name="id741448"></a>
+<a name="id768883"></a>
             <a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.description">Description</a>
           </h6>
 <p>
@@ -37,7 +37,7 @@
             Design Pattern.
           </p>
 <a name="spirit.qi.reference.parser_concepts.naryparser.refinement_of"></a><h6>
-<a name="id741493"></a>
+<a name="id768926"></a>
             <a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -58,7 +58,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.valid_expressions"></a><h6>
-<a name="id741583"></a>
+<a name="id769017"></a>
             <a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -109,7 +109,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.type_expressions"></a><h6>
-<a name="id741728"></a>
+<a name="id769162"></a>
             <a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -162,7 +162,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.invariants"></a><h6>
-<a name="id741928"></a>
+<a name="id769362"></a>
             <a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.invariants">Invariants</a>
           </h6>
 <p>
@@ -174,7 +174,7 @@
                 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
               </li></ul></div>
 <a name="spirit.qi.reference.parser_concepts.naryparser.models"></a><h6>
-<a name="id742040"></a>
+<a name="id769474"></a>
             <a class="link" href="naryparser.html#spirit.qi.reference.parser_concepts.naryparser.models">Models</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/nonterminal.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.parser_concepts.nonterminal"></a><a class="link" href="nonterminal.html" title="Nonterminal">Nonterminal</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.description"></a><h6>
-<a name="id742153"></a>
+<a name="id769587"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.description">Description</a>
           </h6>
 <p>
@@ -38,7 +38,7 @@
             in recursive descent parsing.
           </p>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.refinement_of"></a><h6>
-<a name="id742187"></a>
+<a name="id769621"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.refinement_of">Refinement
             of</a>
           </h6>
@@ -46,7 +46,7 @@
               <a class="link" href="parser.html" title="Parser"><code class="computeroutput"><span class="identifier">Parser</span></code></a>
             </p></blockquote></div>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.signature"></a><h6>
-<a name="id742228"></a>
+<a name="id769662"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.signature">Signature</a>
           </h6>
 <p>
@@ -64,7 +64,7 @@
             inherited attributes.
           </p>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.attributes"></a><h6>
-<a name="id742352"></a>
+<a name="id769786"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.attributes">Attributes</a>
           </h6>
 <p>
@@ -77,7 +77,7 @@
 <pre class="programlisting"><span class="identifier">r</span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span> <span class="comment">// Evaluate expr at parse time and pass the result to the Nonterminal r
 </span></pre>
 <a name="spirit.qi.reference.parser_concepts.nonterminal._code__phrase_role__identifier___val__phrase___code_"></a><h6>
-<a name="id742417"></a>
+<a name="id769851"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal._code__phrase_role__identifier___val__phrase___code_"><code class="computeroutput"><span class="identifier">_val</span></code></a>
           </h6>
 <p>
@@ -88,7 +88,7 @@
             like a mutable reference to the Nonterminal's attribute.
           </p>
 <a name="spirit.qi.reference.parser_concepts.nonterminal._code__phrase_role__identifier___r1__phrase___code_______code__phrase_role__identifier__r10__phrase___code_"></a><h6>
-<a name="id742514"></a>
+<a name="id769948"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal._code__phrase_role__identifier___r1__phrase___code_______code__phrase_role__identifier__r10__phrase___code_"><code class="computeroutput"><span class="identifier">_r1</span></code> ... <code class="computeroutput"><span class="identifier">r10</span></code></a>
           </h6>
 <p>
@@ -98,7 +98,7 @@
             refer to the Nonterminal's inherited attributes.
           </p>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.locals"></a><h6>
-<a name="id742626"></a>
+<a name="id770060"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.locals">Locals</a>
           </h6>
 <p>
@@ -169,7 +169,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.valid_expressions"></a><h6>
-<a name="id743259"></a>
+<a name="id770693"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -293,7 +293,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.type_expressions"></a><h6>
-<a name="id743681"></a>
+<a name="id771116"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.type_expressions">Type
             Expressions</a>
           </h6>
@@ -348,7 +348,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.nonterminal.models"></a><h6>
-<a name="id743842"></a>
+<a name="id771276"></a>
             <a class="link" href="nonterminal.html#spirit.qi.reference.parser_concepts.nonterminal.models">Models</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/parser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.parser_concepts.parser"></a><a class="link" href="parser.html" title="Parser">Parser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.parser.description"></a><h6>
-<a name="id738159"></a>
+<a name="id765593"></a>
             <a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.description">Description</a>
           </h6>
 <p>
@@ -80,7 +80,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.parser.valid_expressions"></a><h6>
-<a name="id738505"></a>
+<a name="id765939"></a>
             <a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.parser.type_expressions"></a><h6>
-<a name="id738831"></a>
+<a name="id766265"></a>
             <a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -213,7 +213,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.parser.postcondition"></a><h6>
-<a name="id739067"></a>
+<a name="id766501"></a>
             <a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.postcondition">Postcondition</a>
           </h6>
 <p>
@@ -247,7 +247,7 @@
               </li>
 </ul></div>
 <a name="spirit.qi.reference.parser_concepts.parser.models"></a><h6>
-<a name="id739255"></a>
+<a name="id766689"></a>
             <a class="link" href="parser.html#spirit.qi.reference.parser_concepts.parser.models">Models</a>
           </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/primitiveparser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.parser_concepts.primitiveparser"></a><a class="link" href="primitiveparser.html" title="PrimitiveParser">PrimitiveParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.description"></a><h6>
-<a name="id739300"></a>
+<a name="id766734"></a>
             <a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.description">Description</a>
           </h6>
 <p>
@@ -35,7 +35,7 @@
             that the client uses to build more complex parsers.
           </p>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.refinement_of"></a><h6>
-<a name="id739329"></a>
+<a name="id766763"></a>
             <a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -43,7 +43,7 @@
               <a class="link" href="parser.html" title="Parser"><code class="computeroutput"><span class="identifier">Parser</span></code></a>
             </p></blockquote></div>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.pre_skip"></a><h6>
-<a name="id739371"></a>
+<a name="id766805"></a>
             <a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.pre_skip">Pre-skip</a>
           </h6>
 <p>
@@ -57,7 +57,7 @@
 <pre class="programlisting"><span class="identifier">qi</span><span class="special">::</span><span class="identifier">skip_over</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">skip</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.type_expressions"></a><h6>
-<a name="id739490"></a>
+<a name="id766924"></a>
             <a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -96,7 +96,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.primitiveparser.models"></a><h6>
-<a name="id739655"></a>
+<a name="id767089"></a>
             <a class="link" href="primitiveparser.html#spirit.qi.reference.parser_concepts.primitiveparser.models">Models</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/parser_concepts/unaryparser.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.reference.parser_concepts.unaryparser"></a><a class="link" href="unaryparser.html" title="UnaryParser">UnaryParser</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.description"></a><h6>
-<a name="id739837"></a>
+<a name="id767271"></a>
             <a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.description">Description</a>
           </h6>
 <p>
@@ -36,7 +36,7 @@
             the Delegate Design Pattern.
           </p>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.refinement_of"></a><h6>
-<a name="id739866"></a>
+<a name="id767300"></a>
             <a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.refinement_of">Refinement
             of</a>
           </h6>
@@ -57,7 +57,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.valid_expressions"></a><h6>
-<a name="id739957"></a>
+<a name="id767391"></a>
             <a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.valid_expressions">Valid
             Expressions</a>
           </h6>
@@ -107,7 +107,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.type_expressions"></a><h6>
-<a name="id740094"></a>
+<a name="id767528"></a>
             <a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.type_expressions">Type
             Expressions</a>
           </h6>
@@ -160,7 +160,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.invariants"></a><h6>
-<a name="id740293"></a>
+<a name="id767728"></a>
             <a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.invariants">Invariants</a>
           </h6>
 <p>
@@ -171,7 +171,7 @@
                 <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_parser</span><span class="special">&lt;</span><span class="identifier">P</span><span class="special">::</span><span class="identifier">subject_type</span><span class="special">&gt;::</span><span class="identifier">type</span></code> evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
               </li></ul></div>
 <a name="spirit.qi.reference.parser_concepts.unaryparser.models"></a><h6>
-<a name="id740404"></a>
+<a name="id767838"></a>
             <a class="link" href="unaryparser.html#spirit.qi.reference.parser_concepts.unaryparser.models">Models</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/stream.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/stream.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/stream.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -35,7 +35,7 @@
           for input parsing.
         </p>
 <a name="spirit.qi.reference.stream.header"></a><h6>
-<a name="id827723"></a>
+<a name="id861870"></a>
           <a class="link" href="stream.html#spirit.qi.reference.stream.header">Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/stream.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/stream/stream.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">stream</span></code>, <code class="computeroutput"><span class="identifier">wstream</span></code>, etc.)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.stream.stream.description"></a><h6>
-<a name="id827858"></a>
+<a name="id862004"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.description">Description</a>
           </h6>
 <p>
@@ -45,7 +45,7 @@
 <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&gt;&gt;</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span><span class="special">&amp;,</span> <span class="identifier">A</span><span class="special">&amp;);</span>
 </pre>
 <a name="spirit.qi.reference.stream.stream.header"></a><h6>
-<a name="id827999"></a>
+<a name="id862145"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/stream.hpp&gt;
@@ -55,7 +55,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.stream.stream.namespace"></a><h6>
-<a name="id828098"></a>
+<a name="id862244"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -81,14 +81,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.stream.stream.synopsis"></a><h6>
-<a name="id828233"></a>
+<a name="id862380"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Char</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">stream_parser</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.stream.stream.template_parameters"></a><h6>
-<a name="id828317"></a>
+<a name="id862463"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.template_parameters">Template
             parameters</a>
           </h6>
@@ -156,7 +156,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.stream.stream.model_of"></a><h6>
-<a name="id828486"></a>
+<a name="id862633"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -176,7 +176,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.stream.stream.expression_semantics"></a><h6>
-<a name="id828594"></a>
+<a name="id862741"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -286,7 +286,7 @@
 </tr></tbody>
 </table></div>
 <a name="spirit.qi.reference.stream.stream.additional_requirements"></a><h6>
-<a name="id828971"></a>
+<a name="id863117"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.additional_requirements">Additional
             Requirements</a>
           </h6>
@@ -324,7 +324,7 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.stream.stream.attributes"></a><h6>
-<a name="id829261"></a>
+<a name="id863408"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -397,14 +397,14 @@
             </p></td></tr>
 </table></div>
 <a name="spirit.qi.reference.stream.stream.complexity"></a><h6>
-<a name="id829510"></a>
+<a name="id863656"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
               O(N), where N is the number of characters consumed by the stream parser
             </p></blockquote></div>
 <a name="spirit.qi.reference.stream.stream.example"></a><h6>
-<a name="id829537"></a>
+<a name="id863683"></a>
             <a class="link" href="stream.html#spirit.qi.reference.stream.stream.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -37,7 +37,7 @@
           the literal and string parsers and the symbol table.
         </p>
 <a name="spirit.qi.reference.string.module_header"></a><h6>
-<a name="id830587"></a>
+<a name="id864733"></a>
           <a class="link" href="string.html#spirit.qi.reference.string.module_header">Module Header</a>
         </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string.hpp&gt;

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string/string.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string/string.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string/string.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">string</span></code>, <code class="computeroutput"><span class="identifier">lit</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.string.string.description"></a><h6>
-<a name="id830721"></a>
+<a name="id864867"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.description">Description</a>
           </h6>
 <p>
@@ -55,14 +55,14 @@
 <span class="identifier">lit</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span> <span class="comment">// s is a std::string
 </span></pre>
 <a name="spirit.qi.reference.string.string.header"></a><h6>
-<a name="id831021"></a>
+<a name="id865168"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string/lit.hpp&gt;
 </span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">qi_lit</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.reference.string.string.namespace"></a><h6>
-<a name="id831110"></a>
+<a name="id865256"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -92,7 +92,7 @@
             Encoding Namespace</a>.
           </p>
 <a name="spirit.qi.reference.string.string.model_of"></a><h6>
-<a name="id831251"></a>
+<a name="id865397"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -115,7 +115,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.string.string.expression_semantics"></a><h6>
-<a name="id831371"></a>
+<a name="id865517"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -181,7 +181,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.string.attributes"></a><h6>
-<a name="id831602"></a>
+<a name="id865748"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.attributes">Attributes</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -243,7 +243,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.string.complexity"></a><h6>
-<a name="id831844"></a>
+<a name="id865990"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.complexity">Complexity</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -254,7 +254,7 @@
             of characters in the string to be parsed.
           </p>
 <a name="spirit.qi.reference.string.string.example"></a><h6>
-<a name="id831884"></a>
+<a name="id866030"></a>
             <a class="link" href="string.html#spirit.qi.reference.string.string.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">

Modified: trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/reference/string/symbols.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../string.html" title="String Parsers">
 <link rel="prev" href="string.html" title="String Parsers (string, lit)">
-<link rel="next" href="../../../karma.html" title="Karma - Writing Generators">
+<link rel="next" href="../../s04.html" title="Qi Index">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="string.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../karma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="string.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../s04.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h5 class="title">
@@ -28,7 +28,7 @@
           (<code class="computeroutput"><span class="identifier">symbols</span></code>)</a>
 </h5></div></div></div>
 <a name="spirit.qi.reference.string.symbols.description"></a><h6>
-<a name="id832585"></a>
+<a name="id866732"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.description">Description</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
             added, thus, dynamically altering its behavior.
           </p>
 <a name="spirit.qi.reference.string.symbols.header"></a><h6>
-<a name="id832649"></a>
+<a name="id866796"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.header">Header</a>
           </h6>
 <pre class="programlisting"><span class="comment">// forwards to &lt;boost/spirit/home/qi/string/symbols.hpp&gt;
@@ -58,7 +58,7 @@
             Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
           </p>
 <a name="spirit.qi.reference.string.symbols.namespace"></a><h6>
-<a name="id832749"></a>
+<a name="id866895"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.namespace">Namespace</a>
           </h6>
 <div class="informaltable"><table class="table">
@@ -87,14 +87,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.symbols.synopsis"></a><h6>
-<a name="id832936"></a>
+<a name="id867083"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.synopsis">Synopsis</a>
           </h6>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Char</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Lookup</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">symbols</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.string.symbols.template_parameters"></a><h6>
-<a name="id833035"></a>
+<a name="id867182"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.template_parameters">Template
             parameters</a>
           </h6>
@@ -177,7 +177,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.symbols.model_of"></a><h6>
-<a name="id833251"></a>
+<a name="id867398"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.model_of">Model of</a>
           </h6>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -233,7 +233,7 @@
 </dl>
 </div>
 <a name="spirit.qi.reference.string.symbols.expression_semantics"></a><h6>
-<a name="id833634"></a>
+<a name="id867781"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.expression_semantics">Expression
             Semantics</a>
           </h6>
@@ -495,14 +495,14 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.reference.string.symbols.attributes"></a><h6>
-<a name="id835137"></a>
+<a name="id869285"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.attributes">Attributes</a>
           </h6>
 <p>
             The attribute of <code class="computeroutput"><span class="identifier">symbol</span><span class="special">&lt;</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code> is <code class="computeroutput"><span class="identifier">T</span></code>.
           </p>
 <a name="spirit.qi.reference.string.symbols.complexity"></a><h6>
-<a name="id835206"></a>
+<a name="id869353"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.complexity">Complexity</a>
           </h6>
 <p>
@@ -539,7 +539,7 @@
 <pre class="programlisting"><span class="identifier">symbols</span><span class="special">&lt;</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">tst_map</span><span class="special">&lt;</span><span class="identifier">Char</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">sym</span><span class="special">;</span>
 </pre>
 <a name="spirit.qi.reference.string.symbols.example"></a><h6>
-<a name="id835377"></a>
+<a name="id869525"></a>
             <a class="link" href="symbols.html#spirit.qi.reference.string.symbols.example">Example</a>
           </h6>
 <div class="note"><table border="0" summary="Note">
@@ -620,7 +620,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="string.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../karma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="string.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../s04.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/spirit/doc/html/spirit/qi/s04.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/s04.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/s04.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Qi Index</title>
 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../index.html" title="Spirit 2.4.2">
 <link rel="up" href="../qi.html" title="Qi - Writing Parsers">
 <link rel="prev" href="reference/string/symbols.html" title="Symbols Parser (symbols)">
@@ -24,7 +24,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id1035636"></a>Qi Index</h3></div></div></div>
+<a name="id870271"></a>Qi Index</h3></div></div></div>
 <p><a class="link" href="s04.html#idx_id_0">A</a> <a class="link" href="s04.html#idx_id_1">B</a> <a class="link" href="s04.html#idx_id_2">C</a> <a class="link" href="s04.html#idx_id_3">D</a> <a class="link" href="s04.html#idx_id_4">E</a> <a class="link" href="s04.html#idx_id_5">F</a> <a class="link" href="s04.html#idx_id_6">G</a> <a class="link" href="s04.html#idx_id_7">H</a> <a class="link" href="s04.html#idx_id_8">I</a> <a class="link" href="s04.html#idx_id_9">K</a> <a class="link" href="s04.html#idx_id_10">L</a> <a class="link" href="s04.html#idx_id_11">M</a> <a class="link" href="s04.html#idx_id_12">N</a> <a class="link" href="s04.html#idx_id_13">O</a> <a class="link" href="s04.html#idx_id_14">P</a> <a class="link" href="s04.html#idx_id_15">Q</a> <a class="link" href="s04.html#idx_id_16">R</a> <a class="link" href="s04.html#idx_id_17">S</a> <a class="link" href="s04.html#idx_id_18">T</a> <a class="link" href="s04.html#idx_id_19">U</a> <a class="link" href="s04.html#idx_id_20">W</a> <a class="link" href=
"s04.html#idx_id_21">X</a> </p>
 <div class="variablelist"><dl>
 <dt>
@@ -131,7 +131,10 @@
 <dt><span class="term">hex</span></dt>
 <dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/numeric/uint.html" title="Unsigned Integer Parsers (uint_, etc.)">Unsigned Integer Parsers ( uint_ , etc.)</a></p></td></tr></table></dd>
 <dt><span class="term">hold</span></dt>
-<dd><table border="0" summary="Simple list" class="simplelist"><tr><td><p><a class="link" href="reference/directive/hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">Parser Directive for Attribute Commit/Rollback ( hold [] )</a></p></td></tr></table></dd>
+<dd><table border="0" summary="Simple list" class="simplelist">
+<tr><td><p><a class="link" href="reference/directive/hold.html" title="Parser Directive for Attribute Commit/Rollback (hold[])">Parser Directive for Attribute Commit/Rollback ( hold [] )</a></p></td></tr>
+<tr><td><p><a class="link" href="reference/directive/as.html" title="Parser Directives Forcing Atomic Assignment (as&lt;T&gt;, as_string[], as_wstring[])">Parser Directives Forcing Atomic Assignment ( as &lt; T &gt;, as_string [], as_wstring [] )</a></p></td></tr>
+</table></dd>
 </dl></div></dd>
 <dt>
 <a name="idx_id_8"></a><span class="term">I</span>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/employee___parsing_into_structs.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -167,7 +167,7 @@
           has a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> attribute.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.lexeme"></a><h6>
-<a name="id713661"></a>
+<a name="id741095"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.lexeme">Lexeme</a>
         </h6>
 <pre class="programlisting"><span class="identifier">lexeme</span><span class="special">[</span><span class="char">'"'</span> <span class="special">&gt;&gt;</span> <span class="special">+(</span><span class="identifier">char_</span> <span class="special">-</span> <span class="char">'"'</span><span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="char">'"'</span><span class="special">];</span>
@@ -184,7 +184,7 @@
           a double quote.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.difference"></a><h6>
-<a name="id713798"></a>
+<a name="id741232"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.difference">Difference</a>
         </h6>
 <p>
@@ -203,7 +203,7 @@
           is just <code class="computeroutput"><span class="keyword">char</span></code>.
         </p>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.plus"></a><h6>
-<a name="id713935"></a>
+<a name="id741369"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.plus">Plus</a>
         </h6>
 <pre class="programlisting"><span class="special">+</span><span class="identifier">a</span>
@@ -224,7 +224,7 @@
 <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute"></a><h6>
-<a name="id714114"></a>
+<a name="id741548"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.sequence_attribute">Sequence
           Attribute</a>
         </h6>
@@ -265,7 +265,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing"></a><h6>
-<a name="id714395"></a>
+<a name="id741828"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.attribute_collapsing">Attribute
           Collapsing</a>
         </h6>
@@ -297,7 +297,7 @@
 <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span>
 </pre>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.auto_rules"></a><h6>
-<a name="id714704"></a>
+<a name="id742137"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.auto_rules">Auto
           Rules</a>
         </h6>
@@ -347,7 +347,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.tutorials.employee___parsing_into_structs.finally"></a><h6>
-<a name="id715157"></a>
+<a name="id742591"></a>
           <a class="link" href="employee___parsing_into_structs.html#spirit.qi.tutorials.employee___parsing_into_structs.finally">Finally</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -73,7 +73,7 @@
           has an error in it.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.first_cut"></a><h6>
-<a name="id716017"></a>
+<a name="id743451"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.first_cut">First Cut</a>
         </h6>
 <p>
@@ -146,7 +146,7 @@
           by the placeholder <code class="computeroutput"><span class="identifier">_val</span></code>).
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.alternates"></a><h6>
-<a name="id717456"></a>
+<a name="id744890"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.alternates">Alternates</a>
         </h6>
 <pre class="programlisting"><span class="identifier">rule</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">mini_xml_node</span><span class="special">(),</span> <span class="identifier">space_type</span><span class="special">&gt;</span> <span class="identifier">node</span><span class="special">;</span>
@@ -176,7 +176,7 @@
 <span class="special">;</span>
 </pre>
 <a name="spirit.qi.tutorials.mini_xml___asts_.not_predicate"></a><h6>
-<a name="id717866"></a>
+<a name="id745300"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.not_predicate">Not
           Predicate</a>
         </h6>
@@ -203,7 +203,7 @@
           at this point.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.inherited_attribute"></a><h6>
-<a name="id718078"></a>
+<a name="id745511"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.inherited_attribute">Inherited
           Attribute</a>
         </h6>
@@ -229,7 +229,7 @@
           <code class="computeroutput"><span class="identifier">_r3</span></code>, etc. if you have more).
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit"></a><h6>
-<a name="id718324"></a>
+<a name="id745758"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.a_lazy_lit">A Lazy
           Lit</a>
         </h6>
@@ -263,7 +263,7 @@
           accessors, provided by Phoenix.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.how_it_all_works"></a><h6>
-<a name="id718749"></a>
+<a name="id746183"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.how_it_all_works">How
           it all works</a>
         </h6>
@@ -310,7 +310,7 @@
           as <code class="computeroutput"><span class="identifier">_r1</span></code>.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.the_structures"></a><h6>
-<a name="id719150"></a>
+<a name="id746584"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.the_structures">The
           Structures</a>
         </h6>
@@ -339,7 +339,7 @@
 <p>
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants"></a><h6>
-<a name="id719386"></a>
+<a name="id746819"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.of_alternates_and_variants">Of
           Alternates and Variants</a>
         </h6>
@@ -366,7 +366,7 @@
           of <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">B</span></code> is the attribute of <code class="computeroutput"><span class="identifier">b</span></code>.
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again"></a><h6>
-<a name="id719598"></a>
+<a name="id747031"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.adapting_structs_again">Adapting
           structs again</a>
         </h6>
@@ -388,7 +388,7 @@
 <p>
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.one_more_take"></a><h6>
-<a name="id719769"></a>
+<a name="id747202"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.one_more_take">One
           More Take</a>
         </h6>
@@ -452,7 +452,7 @@
           if you missed that). There is some new stuff though. It's all in the <code class="computeroutput"><span class="identifier">xml</span></code> rule:
         </p>
 <a name="spirit.qi.tutorials.mini_xml___asts_.local_variables"></a><h6>
-<a name="id720883"></a>
+<a name="id748316"></a>
           <a class="link" href="mini_xml___asts_.html#spirit.qi.tutorials.mini_xml___asts_.local_variables">Local
           Variables</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___error_handling.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -114,7 +114,7 @@
           What's new?
         </p>
 <a name="spirit.qi.tutorials.mini_xml___error_handling.readable_names"></a><h6>
-<a name="id722829"></a>
+<a name="id750262"></a>
           <a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.readable_names">Readable
           Names</a>
         </h6>
@@ -133,7 +133,7 @@
 <span class="identifier">end_tag</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="string">"end_tag"</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.tutorials.mini_xml___error_handling.on_error"></a><h6>
-<a name="id723054"></a>
+<a name="id750487"></a>
           <a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.on_error">On
           Error</a>
         </h6>
@@ -310,7 +310,7 @@
 </tbody>
 </table></div>
 <a name="spirit.qi.tutorials.mini_xml___error_handling.expectation_points"></a><h6>
-<a name="id723647"></a>
+<a name="id751081"></a>
           <a class="link" href="mini_xml___error_handling.html#spirit.qi.tutorials.mini_xml___error_handling.expectation_points">Expectation
           Points</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/quick_start.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.qi.tutorials.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a>
 </h4></div></div></div>
 <a name="spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_"></a><h6>
-<a name="id701254"></a>
+<a name="id728760"></a>
           <a class="link" href="quick_start.html#spirit.qi.tutorials.quick_start.why_would_you_want_to_use_spirit_qi_">Why
           would you want to use Spirit.Qi?</a>
         </h6>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/roman_numerals.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -41,7 +41,7 @@
             </li>
 </ul></div>
 <a name="spirit.qi.tutorials.roman_numerals.symbol_table"></a><h6>
-<a name="id709009"></a>
+<a name="id736442"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.symbol_table">Symbol
           Table</a>
         </h6>
@@ -161,7 +161,7 @@
           They are all parsers.
         </p>
 <a name="spirit.qi.tutorials.roman_numerals.rules"></a><h6>
-<a name="id710187"></a>
+<a name="id737621"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.rules">Rules</a>
         </h6>
 <p>
@@ -241,7 +241,7 @@
 <pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">double_</span> <span class="special">&gt;&gt;</span> <span class="special">*(</span><span class="char">','</span> <span class="special">&gt;&gt;</span> <span class="identifier">double_</span><span class="special">);</span>
 </pre>
 <a name="spirit.qi.tutorials.roman_numerals.grammars"></a><h6>
-<a name="id710696"></a>
+<a name="id738130"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.grammars">Grammars</a>
         </h6>
 <p>
@@ -342,7 +342,7 @@
             </li>
 </ul></div>
 <a name="spirit.qi.tutorials.roman_numerals.let_s_parse_"></a><h6>
-<a name="id711630"></a>
+<a name="id739063"></a>
           <a class="link" href="roman_numerals.html#spirit.qi.tutorials.roman_numerals.let_s_parse_">Let's Parse!</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/semantic_actions.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -66,7 +66,7 @@
           simply ignored.
         </p>
 <a name="spirit.qi.tutorials.semantic_actions.examples_of_semantic_actions"></a><h6>
-<a name="id702900"></a>
+<a name="id730334"></a>
           <a class="link" href="semantic_actions.html#spirit.qi.tutorials.semantic_actions.examples_of_semantic_actions">Examples
           of Semantic Actions</a>
         </h6>
@@ -214,7 +214,7 @@
           The examples above can be found here: ../../example/qi/actions.cpp
         </p>
 <a name="spirit.qi.tutorials.semantic_actions.phoenix"></a><h6>
-<a name="id704187"></a>
+<a name="id731621"></a>
           <a class="link" href="semantic_actions.html#spirit.qi.tutorials.semantic_actions.phoenix">Phoenix</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html (original)
+++ trunk/libs/spirit/doc/html/spirit/qi/tutorials/warming_up.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -34,7 +34,7 @@
           heavily uses operator overloading to accomplish its magic.
         </p>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number"></a><h6>
-<a name="id644978"></a>
+<a name="id728845"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__1_parsing_a_number">Trivial
           Example #1 Parsing a number</a>
         </h6>
@@ -49,7 +49,7 @@
           parsers and consistent naming conventions help you keep from going insane!
         </p>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers"></a><h6>
-<a name="id701448"></a>
+<a name="id728886"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__2_parsing_two_numbers">Trivial
           Example #2 Parsing two numbers</a>
         </h6>
@@ -82,7 +82,7 @@
           </p></td></tr>
 </table></div>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__3_parsing_zero_or_more_numbers"></a><h6>
-<a name="id701538"></a>
+<a name="id728972"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__3_parsing_zero_or_more_numbers">Trivial
           Example #3 Parsing zero or more numbers</a>
         </h6>
@@ -105,7 +105,7 @@
           also known as a Kleene Closure, but we call it the Star in most places.
         </p>
 <a name="spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers"></a><h6>
-<a name="id701604"></a>
+<a name="id729037"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.trivial_example__4_parsing_a_comma_delimited_list_of_numbers">Trivial
           Example #4 Parsing a comma-delimited list of numbers</a>
         </h6>
@@ -128,7 +128,7 @@
           star encloses the complete expression above.
         </p>
 <a name="spirit.qi.tutorials.warming_up.let_s_parse_"></a><h6>
-<a name="id701772"></a>
+<a name="id729206"></a>
           <a class="link" href="warming_up.html#spirit.qi.tutorials.warming_up.let_s_parse_">Let's Parse!</a>
         </h6>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/support/multi_pass.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/support/multi_pass.html (original)
+++ trunk/libs/spirit/doc/html/spirit/support/multi_pass.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -61,7 +61,7 @@
         iterator was created.
       </p>
 <a name="spirit.support.multi_pass.using_the_multi_pass"></a><h5>
-<a name="id1053957"></a>
+<a name="id1092800"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_multi_pass">Using the
         multi_pass</a>
       </h5>
@@ -205,7 +205,7 @@
 <p>
       </p>
 <a name="spirit.support.multi_pass.using_the_flush_multi_pass_parser"></a><h5>
-<a name="id1055536"></a>
+<a name="id1094379"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.using_the_flush_multi_pass_parser">Using
         the flush_multi_pass parser</a>
       </h5>
@@ -227,7 +227,7 @@
         thrown.
       </p>
 <a name="spirit.support.multi_pass.the_multi_pass_policies"></a><h5>
-<a name="id1055665"></a>
+<a name="id1094509"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.the_multi_pass_policies">The multi_pass
         Policies</a>
       </h5>
@@ -350,7 +350,7 @@
         we will give some guidelines how you can write your own policy implementations.
       </p>
 <a name="spirit.support.multi_pass.predefined_policies"></a><h5>
-<a name="id1056041"></a>
+<a name="id1094886"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.predefined_policies">Predefined
         policies</a>
       </h5>
@@ -631,7 +631,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass"></a><h5>
-<a name="id1057075"></a>
+<a name="id1095922"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.combinations__how_to_specify_your_own_custom_multi_pass">Combinations:
         How to specify your own custom multi_pass</a>
       </h5>
@@ -678,7 +678,7 @@
         behaviors while wrapping an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream_iterator</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span></code>.
       </p>
 <a name="spirit.support.multi_pass.dealing_with_constant_look_ahead"></a><h5>
-<a name="id1057631"></a>
+<a name="id1096478"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.dealing_with_constant_look_ahead">Dealing
         with constant look ahead</a>
       </h5>
@@ -706,7 +706,7 @@
         Also, see <a class="link" href="../structure/include.html" title="Include">Include Structure</a>.
       </p>
 <a name="spirit.support.multi_pass.reading_from_standard_input_streams"></a><h5>
-<a name="id1057895"></a>
+<a name="id1096742"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.reading_from_standard_input_streams">Reading
         from standard input streams</a>
       </h5>
@@ -738,7 +738,7 @@
         Also, see <a class="link" href="../structure/include.html" title="Include">Include Structure</a>.
       </p>
 <a name="spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy"></a><h5>
-<a name="id1058257"></a>
+<a name="id1097104"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_a_functor_for_use_with_the__code__phrase_role__identifier__functor_input__phrase___code__inputpolicy">How
         to write a functor for use with the <code class="computeroutput"><span class="identifier">functor_input</span></code>
         InputPolicy</a>
@@ -797,7 +797,7 @@
 <span class="special">}</span>
 </pre>
 <a name="spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass"></a><h5>
-<a name="id1058983"></a>
+<a name="id1097830"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.how_to_write_policies_for_use_with_multi_pass">How
         to write policies for use with multi_pass</a>
       </h5>
@@ -814,7 +814,7 @@
         copies of a particular <code class="computeroutput"><span class="identifier">multi_pass</span></code>.
       </p>
 <a name="spirit.support.multi_pass.inputpolicy"></a><h5>
-<a name="id1059092"></a>
+<a name="id1097939"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.inputpolicy">InputPolicy</a>
       </h5>
 <p>
@@ -916,7 +916,7 @@
         constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
       </p>
 <a name="spirit.support.multi_pass.ownershippolicy"></a><h5>
-<a name="id1060213"></a>
+<a name="id1099060"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.ownershippolicy">OwnershipPolicy</a>
       </h5>
 <p>
@@ -983,7 +983,7 @@
         constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
       </p>
 <a name="spirit.support.multi_pass.checkingpolicy"></a><h5>
-<a name="id1060872"></a>
+<a name="id1099719"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.checkingpolicy">CheckingPolicy</a>
       </h5>
 <p>
@@ -1042,7 +1042,7 @@
         constructor of <code class="computeroutput"><span class="identifier">shared</span></code>.
       </p>
 <a name="spirit.support.multi_pass.storagepolicy"></a><h5>
-<a name="id1061433"></a>
+<a name="id1100280"></a>
         <a class="link" href="multi_pass.html#spirit.support.multi_pass.storagepolicy">StoragePolicy</a>
       </h5>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/support/utree.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/support/utree.html (original)
+++ trunk/libs/spirit/doc/html/spirit/support/utree.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -94,7 +94,7 @@
         for. It is 14 bytes for a 32-bit platform and 30 bytes for a 64-bit platform.
       </p>
 <a name="spirit.support.utree.class_reference"></a><h5>
-<a name="id1132614"></a>
+<a name="id1101852"></a>
         <a class="link" href="utree.html#spirit.support.utree.class_reference">Class Reference</a>
       </h5>
 <p>
@@ -290,7 +290,7 @@
         attribute type.
       </p>
 <a name="spirit.support.utree.string_types"></a><h5>
-<a name="id1135164"></a>
+<a name="id1104402"></a>
         <a class="link" href="utree.html#spirit.support.utree.string_types">String Types</a>
       </h5>
 <p>
@@ -355,7 +355,7 @@
 <p>
       </p>
 <a name="spirit.support.utree.function_object_interface"></a><h5>
-<a name="id1135795"></a>
+<a name="id1105033"></a>
         <a class="link" href="utree.html#spirit.support.utree.function_object_interface">Function Object
         Interface</a>
       </h5>
@@ -389,7 +389,7 @@
 <p>
       </p>
 <a name="spirit.support.utree.exceptions"></a><h5>
-<a name="id1136226"></a>
+<a name="id1105465"></a>
         <a class="link" href="utree.html#spirit.support.utree.exceptions">Exceptions</a>
       </h5>
 <p>
@@ -420,7 +420,7 @@
 <p>
       </p>
 <a name="spirit.support.utree.scope"></a><h5>
-<a name="id1136438"></a>
+<a name="id1105676"></a>
         <a class="link" href="utree.html#spirit.support.utree.scope">Scope</a>
       </h5>
 <p>

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_1.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="spirit.what_s_new.spirit_2_1"></a><a class="link" href="spirit_2_1.html" title="Spirit V2.1">Spirit V2.1</a>
 </h3></div></div></div>
 <a name="spirit.what_s_new.spirit_2_1.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0__boost_v1_37_0__to_v2_1__boost_v1_41_0_"></a><h5>
-<a name="id689763"></a>
+<a name="id717267"></a>
         <a class="link" href="spirit_2_1.html#spirit.what_s_new.spirit_2_1.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_0__boost_v1_37_0__to_v2_1__boost_v1_41_0_">What's
         changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
         from V2.0 (Boost V1.37.0) to V2.1 (Boost V1.41.0)</a>
@@ -187,7 +187,7 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_1.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0__boost_v1_37_0__to_v2_1__boost_v1_41_0_"></a><h5>
-<a name="id690921"></a>
+<a name="id718425"></a>
         <a class="link" href="spirit_2_1.html#spirit.what_s_new.spirit_2_1.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_0__boost_v1_37_0__to_v2_1__boost_v1_41_0_">What's
         changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.0 (Boost V1.37.0) to V2.1
         (Boost V1.41.0)</a>

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_2.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,13 +27,13 @@
 <a name="spirit.what_s_new.spirit_2_2"></a><a class="link" href="spirit_2_2.html" title="Spirit V2.2">Spirit V2.2</a>
 </h3></div></div></div>
 <a name="spirit.what_s_new.spirit_2_2.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_1__boost_v1_41_0__to_v2_2__boost_v1_42_0_"></a><h5>
-<a name="id689014"></a>
+<a name="id716518"></a>
         <a class="link" href="spirit_2_2.html#spirit.what_s_new.spirit_2_2.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_1__boost_v1_41_0__to_v2_2__boost_v1_42_0_">What's
         changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
         from V2.1 (Boost V1.41.0) to V2.2 (Boost V1.42.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_2.new_features"></a><h5>
-<a name="id689039"></a>
+<a name="id716543"></a>
         <a class="link" href="spirit_2_2.html#spirit.what_s_new.spirit_2_2.new_features">New Features</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -81,7 +81,7 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_2.bug_fixes"></a><h5>
-<a name="id689392"></a>
+<a name="id716896"></a>
         <a class="link" href="spirit_2_2.html#spirit.what_s_new.spirit_2_2.bug_fixes">Bug Fixes</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_3.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,13 +27,13 @@
 <a name="spirit.what_s_new.spirit_2_3"></a><a class="link" href="spirit_2_3.html" title="Spirit V2.3">Spirit V2.3</a>
 </h3></div></div></div>
 <a name="spirit.what_s_new.spirit_2_3.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_2__boost_v1_42_0__to_v2_3__boost_v1_43_0_"></a><h5>
-<a name="id688174"></a>
+<a name="id715678"></a>
         <a class="link" href="spirit_2_3.html#spirit.what_s_new.spirit_2_3.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_2__boost_v1_42_0__to_v2_3__boost_v1_43_0_">What's
         changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
         from V2.2 (Boost V1.42.0) to V2.3 (Boost V1.43.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_3.new_features"></a><h5>
-<a name="id688199"></a>
+<a name="id715703"></a>
         <a class="link" href="spirit_2_3.html#spirit.what_s_new.spirit_2_3.new_features">New Features</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -82,7 +82,7 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_3.bug_fixes"></a><h5>
-<a name="id688644"></a>
+<a name="id716148"></a>
         <a class="link" href="spirit_2_3.html#spirit.what_s_new.spirit_2_3.bug_fixes">Bug Fixes</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -126,13 +126,13 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_3.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_2__boost_v1_42_0__to_v2_3__boost_v1_43_0_"></a><h5>
-<a name="id688917"></a>
+<a name="id716421"></a>
         <a class="link" href="spirit_2_3.html#spirit.what_s_new.spirit_2_3.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_2__boost_v1_42_0__to_v2_3__boost_v1_43_0_">What's
         changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.2 (Boost V1.42.0) to V2.3
         (Boost V1.43.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_3.new_lexer_features"></a><h5>
-<a name="id688938"></a>
+<a name="id716442"></a>
         <a class="link" href="spirit_2_3.html#spirit.what_s_new.spirit_2_3.new_lexer_features">New Lexer
         Features</a>
       </h5>

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,13 +27,13 @@
 <a name="spirit.what_s_new.spirit_2_4"></a><a class="link" href="spirit_2_4.html" title="Spirit V2.4">Spirit V2.4</a>
 </h3></div></div></div>
 <a name="spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_"></a><h5>
-<a name="id687475"></a>
+<a name="id714979"></a>
         <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_">What's
         changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
         from V2.3 (Boost V1.43.0) to V2.4 (Boost V1.44.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_4.new_features"></a><h5>
-<a name="id687500"></a>
+<a name="id715004"></a>
         <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.new_features">New Features</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
@@ -87,7 +87,7 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_4.bug_fixes"></a><h5>
-<a name="id687809"></a>
+<a name="id715313"></a>
         <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.bug_fixes">Bug Fixes</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -130,13 +130,13 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_"></a><h5>
-<a name="id688079"></a>
+<a name="id715583"></a>
         <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_3__boost_v1_43_0__to_v2_4__boost_v1_44_0_">What's
         changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.3 (Boost V1.43.0) to V2.4
         (Boost V1.44.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_4.new_lexer_features"></a><h5>
-<a name="id688100"></a>
+<a name="id715604"></a>
         <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.new_lexer_features">New Lexer
         Features</a>
       </h5>
@@ -146,7 +146,7 @@
             '&gt;'.
           </li></ul></div>
 <a name="spirit.what_s_new.spirit_2_4.lexer_bug_fixes"></a><h5>
-<a name="id688127"></a>
+<a name="id715631"></a>
         <a class="link" href="spirit_2_4.html#spirit.what_s_new.spirit_2_4.lexer_bug_fixes">Lexer Bug Fixes</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_1.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,13 +27,13 @@
 <a name="spirit.what_s_new.spirit_2_4_1"></a><a class="link" href="spirit_2_4_1.html" title="Spirit V2.4.1">Spirit V2.4.1</a>
 </h3></div></div></div>
 <a name="spirit.what_s_new.spirit_2_4_1.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_4__boost_v1_44_0__to_v2_4_1__boost_v1_45_0_"></a><h5>
-<a name="id687294"></a>
+<a name="id714798"></a>
         <a class="link" href="spirit_2_4_1.html#spirit.what_s_new.spirit_2_4_1.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_4__boost_v1_44_0__to_v2_4_1__boost_v1_45_0_">What's
         changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
         from V2.4 (Boost V1.44.0) to V2.4.1 (Boost V1.45.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_4_1.bug_fixes"></a><h5>
-<a name="id687320"></a>
+<a name="id714824"></a>
         <a class="link" href="spirit_2_4_1.html#spirit.what_s_new.spirit_2_4_1.bug_fixes">Bug Fixes</a>
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">

Modified: trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html
==============================================================================
--- trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html (original)
+++ trunk/libs/spirit/doc/html/spirit/what_s_new/spirit_2_4_2.html 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -27,13 +27,13 @@
 <a name="spirit.what_s_new.spirit_2_4_2"></a><a class="link" href="spirit_2_4_2.html" title="Spirit V2.4.2">Spirit V2.4.2</a>
 </h3></div></div></div>
 <a name="spirit.what_s_new.spirit_2_4_2.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_4_1__boost_v1_45_0__to_v2_4_2__boost_v1_46_0_"></a><h5>
-<a name="id686311"></a>
+<a name="id713817"></a>
         <a class="link" href="spirit_2_4_2.html#spirit.what_s_new.spirit_2_4_2.what_s_changed_in__emphasis_spirit_qi__emphasis__and__emphasis_spirit_karma__emphasis__from_v2_4_1__boost_v1_45_0__to_v2_4_2__boost_v1_46_0_">What's
         changed in <span class="emphasis"><em>Spirit.Qi</em></span> and <span class="emphasis"><em>Spirit.Karma</em></span>
         from V2.4.1 (Boost V1.45.0) to V2.4.2 (Boost V1.46.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_4_2.new_features_in_qi_or_karma"></a><h5>
-<a name="id686337"></a>
+<a name="id713841"></a>
         <a class="link" href="spirit_2_4_2.html#spirit.what_s_new.spirit_2_4_2.new_features_in_qi_or_karma">New
         Features in Qi or Karma</a>
       </h5>
@@ -57,7 +57,7 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_4_2.bug_fixes_in_qi_or_karma"></a><h5>
-<a name="id686417"></a>
+<a name="id713921"></a>
         <a class="link" href="spirit_2_4_2.html#spirit.what_s_new.spirit_2_4_2.bug_fixes_in_qi_or_karma">Bug
         Fixes in Qi or Karma</a>
       </h5>
@@ -74,13 +74,13 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_4_2.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_4_1__boost_v1_45_0__to_v2_4_2__boost_v1_46_0_"></a><h5>
-<a name="id686491"></a>
+<a name="id713995"></a>
         <a class="link" href="spirit_2_4_2.html#spirit.what_s_new.spirit_2_4_2.what_s_changed_in__emphasis_spirit_lex__emphasis__from_v2_4_1__boost_v1_45_0__to_v2_4_2__boost_v1_46_0_">What's
         changed in <span class="emphasis"><em>Spirit.Lex</em></span> from V2.4.1 (Boost V1.45.0) to
         V2.4.2 (Boost V1.46.0)</a>
       </h5>
 <a name="spirit.what_s_new.spirit_2_4_2.new_features_in_lex"></a><h5>
-<a name="id686512"></a>
+<a name="id714016"></a>
         <a class="link" href="spirit_2_4_2.html#spirit.what_s_new.spirit_2_4_2.new_features_in_lex">New Features
         in Lex</a>
       </h5>
@@ -130,7 +130,7 @@
           </li>
 </ul></div>
 <a name="spirit.what_s_new.spirit_2_4_2.bug_fixes_in_lex"></a><h5>
-<a name="id686984"></a>
+<a name="id714488"></a>
         <a class="link" href="spirit_2_4_2.html#spirit.what_s_new.spirit_2_4_2.bug_fixes_in_lex">Bug Fixes
         in Lex</a>
       </h5>

Modified: trunk/libs/spirit/doc/karma/numeric.qbk
==============================================================================
--- trunk/libs/spirit/doc/karma/numeric.qbk (original)
+++ trunk/libs/spirit/doc/karma/numeric.qbk 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -121,17 +121,17 @@
                          fails (unless the underlying output stream reports
                          an error).]]
     [
-[``ushort
-uint
-ulong
+[``ushort_
+uint_
+ulong_
 ulong_long``] [Generate the unsigned integer provided by a mandatory
                          attribute using the default formatting (radix is 10).
                          This generator never fails (unless the underlying
                          output stream reports an error).]]
     [
-[``ushort(num)
-uint(num)
-ulong(num)
+[``ushort_(num)
+uint_(num)
+ulong_(num)
 ulong_long(num)``] [Generate the unsigned integer provided by the
                          immediate literal value the generator is initialized
                          from using the default formatting (radix is 10). If
@@ -222,23 +222,23 @@
 [table
     [[Expression] [Attribute]]
     [[`lit(num)`] [__unused__]]
- [[`ushort`] [`unsigned short`, attribute is mandatory (otherwise
+ [[`ushort_`] [`unsigned short`, attribute is mandatory (otherwise
                          compilation will fail)]]
- [[`ushort(num)`] [`unsigned short`, attribute is optional, if it is
+ [[`ushort_(num)`] [`unsigned short`, attribute is optional, if it is
                          supplied, the generator compares the attribute with
                          `num` and succeeds only if both are equal, failing
                          otherwise.]]
 
- [[`uint`] [`unsigned int`, attribute is mandatory (otherwise
+ [[`uint_`] [`unsigned int`, attribute is mandatory (otherwise
                          compilation will fail)]]
- [[`uint(num)`] [`unsigned int`, attribute is optional, if it is
+ [[`uint_(num)`] [`unsigned int`, attribute is optional, if it is
                          supplied, the generator compares the attribute with
                          `num` and succeeds only if both are equal, failing
                          otherwise.]]
 
- [[`ulong`] [`unsigned long`, attribute is mandatory (otherwise
+ [[`ulong_`] [`unsigned long`, attribute is mandatory (otherwise
                          compilation will fail)]]
- [[`ulong(num)`] [`unsigned long`, attribute is optional, if it is
+ [[`ulong_(num)`] [`unsigned long`, attribute is optional, if it is
                          supplied, the generator compares the attribute with
                          `num` and succeeds only if both are equal, failing
                          otherwise.]]

Modified: trunk/libs/spirit/doc/qi/directive.qbk
==============================================================================
--- trunk/libs/spirit/doc/qi/directive.qbk (original)
+++ trunk/libs/spirit/doc/qi/directive.qbk 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,6 +1,7 @@
 [/==============================================================================
- Copyright (C) 2001-2010 Joel de Guzman
- Copyright (C) 2001-2010 Hartmut Kaiser
+ Copyright (C) 2001-2011 Joel de Guzman
+ Copyright (C) 2001-2011 Hartmut Kaiser
+ Copyright (C) 2011 Bryce Lelbach
 
     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)
@@ -10,7 +11,8 @@
 
 This module includes different directives usable to augment and parameterize
 other parsers. It includes the `no_case`, `lexeme`, `omit`, `raw`, `repeat`,
-`matches`, `no_skip`, `skip`, and `hold` directives.
+`matches`, `no_skip`, `skip`, `hold`, `as<T>`, `as_string` and
+`as_wstring` directives.
 
 
 [heading Module Header]
@@ -746,4 +748,110 @@
 
 [endsect]
 
+[/------------------------------------------------------------------------------]
+[section:as Parser Directives Forcing Atomic Assignment (`as<T>, as_string[], as_wstring[]`)]
+
+[heading Description]
+
+The `as<T>` class forces the atomic assignment of it's subject's synthesized
+attribute. Usually, repetitive parsers (such as __qi_kleene__, etc) or
+sequences exposing a `vector<A>` will assign elements to the container supplied
+as their synthesized attribute by calling __customize_push_back_container__
+repeatedly. In some cases, this may be undesirable. The `as<T>` class creates a
+directive that will pass a temporary object of type `T` to it's subject. If the
+subject parser passes, the temporary object will be assigned to the directive's
+supplied attribute with a single call to __customize_assign_to__. If the
+subject parser fails, the directive's attribute is not mutated.
+
+[note The `as<T>` implicitly causes commit/rollback semantics
+similar in nature to the __qi_hold__ directive.]
+
+[caution The __customize_assign_to__ customization point will may end up
+using __customize_push_back_container__ to assign the temporary object to the
+supplied attribute by default, depending on the types involved. Use the
+interface described in __sec_customization_points__ to manipulate the semantics
+of this assignment operation.]
+
+[heading Header]
+
+ // forwards to <boost/spirit/home/qi/directive/as.hpp>
+ #include <boost/spirit/include/qi_as.hpp>
+
+Also, see __include_structure__.
+
+[heading Namespace]
+
+[table
+ [[Name]]
+ [[`boost::spirit::as_string // alias: boost::spirit::qi::as_string` ]]
+ [[`boost::spirit::as_wstring // alias: boost::spirit::qi::as_wstring` ]]
+]
+
+[heading Synopsis]
+
+ template <typename T>
+ struct as;
+
+[heading Template parameters]
+
+[table
+ [[Parameter] [Description] [Default]]
+ [[`T`] [Attribute type.] [none]]
+]
+
+[heading Model of]
+
+[:__unary_parser_concept__]
+
+[variablelist Notation
+ [[`a`] [A __parser_concept__.]]
+ [[`t`] [A temporary object of type `T`.]]
+ [[`attr`] [The attribute supplied to the directive.]]
+]
+
+[heading Expression Semantics]
+
+Semantics of an expression is defined only where it differs from, or is
+not defined in __unary_parser_concept__.
+
+[table
+ [[Expression] [Semantics]]
+ [[`as<T>()[a]`] [Create a temporary object of `t` of type `T`,
+ and invoke the subject parser `a`, supplying
+ `t` as an attribute. If the subject parser
+ passes, assign `t` to `attr`.]]
+ [[`as_string[a]`] [Equivalent to `as<std::string>()[a]`]]
+ [[`as_wstring[a]`] [Equivalent to `as<std::wstring>()[a]`]]
+]
+
+[heading Attributes]
+
+See __qi_comp_attr_notation__.
+
+[table
+ [[Expression] [Attribute]]
+ [[`as<T>()[a]`] [`a: A --> as<T>()[a]: T`]]
+]
+
+[heading Complexity]
+
+[:The complexity is defined by the complexity of the subject parser, `a`, and
+the complexity of the assignment of the temporary object `t` to the supplied
+attribute `attr`]
+
+[heading Example]
+
+[note The test harness for the example(s) below is presented in the
+__qi_basics_examples__ section.]
+
+Some using declarations:
+
+[reference_using_declarations_as]
+
+Simple usage of `as<T>`, `as_string` and `as_wstring`:
+
+[reference_as]
+
+[endsect]
+
 [endsect]

Modified: trunk/libs/spirit/doc/qi/numeric.qbk
==============================================================================
--- trunk/libs/spirit/doc/qi/numeric.qbk (original)
+++ trunk/libs/spirit/doc/qi/numeric.qbk 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -55,6 +55,7 @@
 
 [table
     [[Name]]
+ [[`boost::spirit::lit // alias: boost::spirit::qi::lit`]]
     [[`boost::spirit::bin // alias: boost::spirit::qi::bin`]]
     [[`boost::spirit::oct // alias: boost::spirit::qi::oct`]]
     [[`boost::spirit::hex // alias: boost::spirit::qi::hex`]]
@@ -83,15 +84,16 @@
 [table
     [[Parameter] [Description] [Default]]
     [[`T`] [The numeric base type of the
- numeric parser.] [none]]
+ numeric parser.] [none]]
     [[`Radix`] [The radix base. This can be
- either 2: binary, 8: octal,
- 10: decimal and 16: hexadecimal.] [10]]
+ either 2 for binary, 8 for octal,
+ 10 for decimal and 16 for
+ hexadecimal.] [10]]
     [[`MinDigits`] [The minimum number of digits
- allowable.] [1]]
+ allowable.] [1]]
     [[`MaxDigits`] [The maximum number of digits
- allowable. If this is -1, then the
- maximum limit becomes unbounded.] [-1]]
+ allowable. If this is -1, then the
+ maximum limit becomes unbounded.] [-1]]
 ]
 
 [heading Model of]
@@ -99,8 +101,10 @@
 [:__primitive_parser_concept__]
 
 [variablelist Notation
- [[`NP`] [An instance of `uint_parser` (type).]]
     [[`n`] [An object of `T`, the numeric base type.]]
+ [[`num`] [Numeric literal, any unsigned integer value, or a
+ __qi_lazy_argument__ that evaluates to a unsigned integer
+ value.]]
 ]
 
 [heading Expression Semantics]
@@ -109,26 +113,122 @@
 not defined in __primitive_parser_concept__.
 
 [table
- [[Expression] [Semantics]]
- [[`NP()`] [Instantiate and (default) construct a `uint_parser`]]
- [[`bin`] [Create a `uint_parser<unsigned, 2, 1, -1>`]]
- [[`oct`] [Create a `uint_parser<unsigned, 8, 1, -1>`]]
- [[`hex`] [Create a `uint_parser<unsigned, 16, 1, -1>`]]
- [[`ushort_`] [Create a `uint_parser<unsigned short, 10, 1, -1>`]]
- [[`ulong_`] [Create a `uint_parser<unsigned long, 10, 1, -1>`]]
- [[`uint_`] [Create a `uint_parser<unsigned int, 10, 1, -1>`]]
- [[`ulong_long`] [Create a `uint_parser<unsigned long long, 10, 1, -1>`]]
+ [
+ [Expression]
+ [Semantics]
+ ][
+ [``
+ ushort_
+ uint_
+ ulong_
+ ulong_long
+ ``]
+ [Parse an unsigned integer using the default radix (10).]
+ ][
+ [``
+ num
+ lit(num)
+ ushort_(num)
+ uint_(num)
+ ulong_(num)
+ ulong_long(num)
+ ``]
+ [Match the literal `num` using the default radix (10).]
+ ][
+ [``
+ bin
+ oct
+ hex
+ ``]
+ [Parse an unsigned integer using radix 2 for `bin`, radix 8 for `oct`, and
+ radix 16 for `hex`.]
+ ][
+ [``
+ bin(num)
+ oct(num)
+ hex(num)
+ ``]
+ [Match the literal `num` using radix 2 for `bin`, radix 8 for `oct`, and
+ radix 16 for `hex`.]
+ ][
+ [``
+ uint_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()
+ ``]
+ [Parse an unsigned integer of type `T` using radix `Radix`, with
+ a minimum of `MinDigits` and a maximum of `MaxDigits`.]
+ ][
+ [``
+ uint_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()(num)
+ ``]
+ [Match the literal `num` of type `T` using radix `Radix`, with
+ a minimum of `MinDigits` and a maximum of `MaxDigits`.]
+ ]
 ]
 
-[important All numeric parsers check for overflow conditions based on the type `T`
- the corresponding `uint_parser<>` has been instantiated with. If the
+[important All numeric parsers check for overflow conditions based on the type
+ `T` the corresponding `uint_parser<>` has been instantiated with. If the
       parsed number overflows this type the parsing fails. Please be aware
       that the overflow check is not based on the type of the supplied
       attribute but solely depends on the template parameter `T`.]
 
 [heading Attributes]
 
-[:`T`, The numeric base type of the numeric parser.]
+[table
+ [
+ [Expression]
+ [Attribute]
+ ][
+ [``
+ num
+ lit(num)
+ ``]
+ [__unused__]
+ ][
+ [``
+ ushort_
+ ushort_(num)
+ ``]
+ [`unsigned short`]
+ ][
+ [``
+ uint_
+ uint_(num)
+ bin
+ bin(num)
+ oct
+ oct(num)
+ hex
+ hex(num)
+ ``]
+ [`unsigned`]
+ ][
+ [``
+ ulong_
+ ulong_(num)
+ ``]
+ [`unsigned long`]
+ ][
+ [``
+ ulong_long
+ ulong_long(num)
+ ``]
+ [`boost::ulong_long_type`]
+ ][
+ [``
+ uint_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()
+ uint_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()(num)
+ ``]
+ [`T`]
+ ]
+]
 
 [heading Complexity]
 
@@ -199,6 +299,7 @@
 
 [table
     [[Name]]
+ [[`boost::spirit::lit // alias: boost::spirit::qi::lit`]]
     [[`boost::spirit::short_ // alias: boost::spirit::qi::short_`]]
     [[`boost::spirit::int_ // alias: boost::spirit::qi::int_`]]
     [[`boost::spirit::long_ // alias: boost::spirit::qi::long_`]]
@@ -223,15 +324,16 @@
 [table
     [[Parameter] [Description] [Default]]
     [[`T`] [The numeric base type of the
- numeric parser.] [none]]
+ numeric parser.] [none]]
     [[`Radix`] [The radix base. This can be
- either 2: binary, 8: octal,
- 10: decimal and 16: hexadecimal.] [10]]
+ either 2 for binary, 8 for octal,
+ 10 for decimal and 16 for
+ hexadecimal.] [10]]
     [[`MinDigits`] [The minimum number of digits
- allowable.] [1]]
+ allowable.] [1]]
     [[`MaxDigits`] [The maximum number of digits
- allowable. If this is -1, then the
- maximum limit becomes unbounded.] [-1]]
+ allowable. If this is -1, then the
+ maximum limit becomes unbounded.] [-1]]
 ]
 
 [heading Model of]
@@ -239,8 +341,10 @@
 [:__primitive_parser_concept__]
 
 [variablelist Notation
- [[`NP`] [An instance of `int_parser` (type).]]
     [[`n`] [An object of `T`, the numeric base type.]]
+ [[`num`] [Numeric literal, any signed integer value, or a
+ __qi_lazy_argument__ that evaluates to a signed integer
+ value.]]
 ]
 
 [heading Expression Semantics]
@@ -249,12 +353,44 @@
 not defined in __primitive_parser_concept__.
 
 [table
- [[Expression] [Semantics]]
- [[`NP()`] [Instantiate and (default) construct an `int_parser`]]
- [[`short_`] [Create an `int_parser<short, 10, 1, -1>`]]
- [[`long_`] [Create an `int_parser<long, 10, 1, -1>`]]
- [[`int_`] [Create an `int_parser<int, 10, 1, -1>`]]
- [[`long_long`] [Create an `int_parser<long long, 10, 1, -1>`]]
+ [
+ [Expression]
+ [Semantics]
+ ][
+ [``
+ short_
+ int_
+ long_
+ long_long
+ ``]
+ [Parse a signed integer using the default radix (10).]
+ ][
+ [``
+ num
+ lit(num)
+ short_(num)
+ int_(num)
+ long_(num)
+ long_long(num)
+ ``]
+ [Match the literal `num` using the default radix (10).]
+ ][
+ [``
+ int_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()
+ ``]
+ [Parse a signed integer of type `T` using radix `Radix`, with
+ a minimum of `MinDigits` and a maximum of `MaxDigits`.]
+ ][
+ [``
+ int_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()(num)
+ ``]
+ [Match the literal `num` of type `T` using radix `Radix`, with
+ a minimum of `MinDigits` and a maximum of `MaxDigits`.]
+ ]
 ]
 
 [important All numeric parsers check for overflow conditions based on the type `T`
@@ -265,7 +401,52 @@
 
 [heading Attributes]
 
-[:`T`, The numeric base type of the numeric parser.]
+[table
+ [
+ [Expression]
+ [Attribute]
+ ][
+ [``
+ num
+ lit(num)
+ ``]
+ [__unused__]
+ ][
+ [``
+ short_
+ short_(num)
+ ``]
+ [`short`]
+ ][
+ [``
+ int_
+ int_(num)
+ ``]
+ [`int`]
+ ][
+ [``
+ long_
+ long_(num)
+ ``]
+ [`long`]
+ ][
+ [``
+ long_long
+ long_long(num)
+ ``]
+ [`boost::long_long_type`]
+ ][
+ [``
+ int_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()
+ int_parser<
+ T, Radix, MinDigits, MaxDigits
+ >()(num)
+ ``]
+ [`T`]
+ ]
+]
 
 [heading Complexity]
 
@@ -331,6 +512,7 @@
 
 [table
     [[Name]]
+ [[`boost::spirit::lit // alias: boost::spirit::qi::lit`]]
     [[`boost::spirit::float_ // alias: boost::spirit::qi::float_`]]
     [[`boost::spirit::double_ // alias: boost::spirit::qi::double_`]]
     [[`boost::spirit::long_double // alias: boost::spirit::qi::long_double`]]
@@ -346,9 +528,9 @@
 [table
     [[Parameter] [Description] [Default]]
     [[`T`] [The numeric base type of the
- numeric parser.] [none]]
+ numeric parser.] [none]]
     [[`RealPolicies`] [Policies control the
- parser's behavior.] [`real_policies<T>`]]
+ parser's behavior.] [`real_policies<T>`]]
 ]
 
 [heading Model of]
@@ -356,9 +538,10 @@
 [:__primitive_parser_concept__]
 
 [variablelist Notation
- [[`NP`] [An instance of `real_parser` (type).]]
- [[`RP`] [A `RealPolicies` (type).]]
     [[`n`] [An object of `T`, the numeric base type.]]
+ [[`num`] [Numeric literal, any real value, or a __qi_lazy_argument__
+ that evaluates to a real value.]]
+ [[`RP`] [A `RealPolicies` (type).]]
     [[`exp`] [A `int` exponent.]]
     [[`b`] [A `bool` flag.]]
     [[`f`, `l`] [__fwditer__. first/last iterator pair.]]
@@ -370,16 +553,84 @@
 not defined in __primitive_parser_concept__.
 
 [table
- [[Expression] [Semantics]]
- [[`NP()`] [Instantiate and (default) construct an `real_parser`]]
- [[`float_`] [Create an `real_parser<float, real_policies<T> >`]]
- [[`double_`] [Create an `real_parser<double, real_policies<T> >`]]
- [[`long_double`] [Create an `real_parser<long double, real_policies<T> >`]]
+ [
+ [Expression]
+ [Semantics]
+ ][
+ [``
+ float_
+ double_
+ long_double
+ ``]
+ [Parse a real using the default policies (`real_policies<T>`).]
+ ][
+ [``
+ num
+ lit(num)
+ float_(num)
+ double_(num)
+ long_double(num)
+ ``]
+ [Match the literal `num` using the default policies (`real_policies<T>`).]
+ ][
+ [``
+ real_parser<
+ T, RealPolicies
+ >()
+ ``]
+ [Parse a real of type `T` using `RealPolicies`.]
+ ][
+ [``
+ real_parser<
+ T, RealPolicies
+ >()(num)
+ ``]
+ [Match the literal `num` of type `T` using `RealPolicies`.]
+ ]
 ]
 
 [heading Attributes]
 
-[:`T`, The numeric base type of the numeric parser.]
+[table
+ [
+ [Expression]
+ [Attribute]
+ ][
+ [``
+ num
+ lit(num)
+ ``]
+ [__unused__]
+ ][
+ [``
+ float_
+ float_(num)
+ ``]
+ [`float`]
+ ][
+ [``
+ double_
+ double_(num)
+ ``]
+ [`double`]
+ ][
+ [``
+ long_double
+ long_double(num)
+ ``]
+ [`long double`]
+ ][
+ [``
+ real_parser<
+ T, RealPolicies
+ >()
+ real_parser<
+ T, RealPolicies
+ >()(num)
+ ``]
+ [`T`]
+ ]
+]
 
 [heading Complexity]
 
@@ -627,9 +878,10 @@
 [:__primitive_parser_concept__]
 
 [variablelist Notation
- [[`BP`] [An instance of `bool_parser` (type).]]
     [[`BP`] [A boolean `Policies` (type).]]
     [[`b`] [An object of `B`, the numeric base type.]]
+ [[`boolean`] [Numeric literal, any boolean value, or a
+ __qi_lazy_argument__ that evaluates to a boolean value.]]
     [[`f`, `l`] [__fwditer__. first/last iterator pair.]]
     [[`attr`] [An attribute value.]]
     [[`Context`] [The type of the parse context of the current invocation of
@@ -643,20 +895,78 @@
 not defined in __primitive_parser_concept__.
 
 [table
- [[Expression] [Semantics]]
- [[`BP()`] [Instantiate and (default) construct a `bool_parser`]]
- [[`bool_`] [Create a `bool_parser<bool, bool_policies<bool> >`]]
- [[`true_`] [Create a `bool_parser<bool, bool_policies<bool> >`
- which is succeeding only after matching `"true"`.]]
- [[`false_`] [Create a `bool_parser<bool, bool_policies<bool> >`
- which is succeeding only after matching `"false"`.]]
+ [
+ [Expression]
+ [Semantics]
+ ][
+ [``
+ bool_
+ ``]
+ [Parse a boolean using the default policies (`bool_policies<T>`).]
+ ][
+ [``
+ boolean
+ lit(boolean)
+ bool_(boolean)
+ ``]
+ [Match the literal `boolean` using the default policies (`bool_policies<T>`).]
+ ][
+ [``
+ true_
+ false_
+ ``]
+ [Match `"true"` and `"false"`, respectively.]
+ ][
+ [``
+ bool_parser<
+ T, BoolPolicies
+ >()
+ ``]
+ [Parse a real of type `T` using `BoolPolicies`.]
+ ][
+ [``
+ bool_parser<
+ T, BoolPolicies
+ >()(boolean)
+ ``]
+ [Match the literal `boolean` of type `T` using `BoolPolicies`.]
+ ]
 ]
 
 [note All boolean parsers properly respect the __qi_no_case__`[]` directive.]
 
 [heading Attributes]
 
-[:`B`, The boolean type of the boolean parser.]
+[table
+ [
+ [Expression]
+ [Attribute]
+ ][
+ [``
+ boolean
+ lit(boolean)
+ ``]
+ [__unused__]
+ ][
+ [``
+ true_
+ false_
+ bool_
+ bool_(boolean)
+ ``]
+ [`bool`]
+ ][
+ [``
+ bool_parser<
+ T, BoolPolicies
+ >()
+ bool_parser<
+ T, BoolPolicies
+ >()(num)
+ ``]
+ [`T`]
+ ]
+]
 
 [heading Complexity]
 

Modified: trunk/libs/spirit/example/qi/reference.cpp
==============================================================================
--- trunk/libs/spirit/example/qi/reference.cpp (original)
+++ trunk/libs/spirit/example/qi/reference.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -11,10 +11,12 @@
 // boostinspect:naassert_macro
 
 //[reference_includes
+#include <boost/spirit/include/support_utree.hpp>
 #include <boost/spirit/include/qi.hpp>
 #include <boost/spirit/include/phoenix_core.hpp>
 #include <boost/spirit/include/phoenix_operator.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
+#include <boost/assert.hpp>
 #include <iostream>
 #include <string>
 #include <cstdlib>
@@ -425,6 +427,46 @@
     }
     
     {
+ //[reference_using_declarations_as
+ using boost::spirit::utree;
+ using boost::spirit::utree_type;
+ using boost::spirit::utf8_symbol_type;
+ using boost::spirit::qi::as;
+ using boost::spirit::qi::as_string;
+ using boost::spirit::qi::char_;
+ //]
+
+ //[reference_as
+ /*`To properly handle string concatenation in __utree__, we
+ make use of `as_string[]`. We also use `as<T>` to explicitly create
+ a __utree__ symbol node.*/
+ utree ut;
+
+ typedef as<utf8_symbol_type> as_symbol_type;
+ as_symbol_type const as_symbol = as_symbol_type();
+
+ test_parser_attr("foo", as_string[*char_], ut);
+ std::cout << ut << std::endl; // will output >"foo"<
+ BOOST_ASSERT(ut.which() == utree_type::string_type);
+ ut.clear();
+
+ test_parser_attr("foo", as<std::string>()[*char_], ut);
+ std::cout << ut << std::endl; // will output >"foo"<
+ BOOST_ASSERT(ut.which() == utree_type::string_type);
+ ut.clear();
+
+ test_parser_attr("foo", as_symbol[*char_], ut);
+ std::cout << ut << std::endl; // will output >foo<
+ BOOST_ASSERT(ut.which() == utree_type::symbol_type);
+ ut.clear();
+
+ test_parser_attr("foo", as<utf8_symbol_type>()[*char_], ut);
+ std::cout << ut << std::endl; // will output >foo<
+ BOOST_ASSERT(ut.which() == utree_type::symbol_type);
+ //]
+ }
+
+ {
         //[reference_using_declarations_no_skip
         using boost::spirit::qi::no_skip;
         using boost::spirit::qi::char_;
@@ -742,13 +784,22 @@
     // uint
     {
         //[reference_using_declarations_uint
+ using boost::phoenix::val;
+ using boost::spirit::qi::lit;
         using boost::spirit::qi::uint_;
         using boost::spirit::qi::uint_parser;
         //]
 
         //[reference_uint
+ // unsigned int
         test_parser("12345", uint_);
- test_parser("12345", uint_(12345));
+ test_parser("12345", uint_(12345));
+ test_parser("12345", uint_(val(12345)));
+
+ // literals
+ test_parser("12345", 12345);
+ test_parser("12345", lit(12345));
+ test_parser("12345", lit(val(12345)));
         //]
         
         //[reference_thousand_separated
@@ -762,50 +813,97 @@
     // int
     {
         //[reference_using_declarations_int
+ using boost::phoenix::val;
+ using boost::spirit::qi::lit;
         using boost::spirit::qi::int_;
         //]
 
         //[reference_int
- test_parser("+12345", int_);
+ // signed int
+ test_parser("+12345", int_);
         test_parser("-12345", int_);
- test_parser("+12345", int_(12345));
+ test_parser("+12345", int_(12345));
         test_parser("-12345", int_(-12345));
+ test_parser("+12345", int_(val(12345)));
+ test_parser("-12345", int_(val(-12345)));
+
+ // literals
+ test_parser("+12345", 12345);
+ test_parser("-12345", -12345);
+ test_parser("+12345", lit(12345));
+ test_parser("-12345", lit(-12345));
+ test_parser("+12345", lit(val(12345)));
+ test_parser("-12345", lit(val(-12345)));
         //]
     }
 
     // real
     {
         //[reference_using_declarations_real
+ using boost::phoenix::val;
+ using boost::spirit::qi::lit;
         using boost::spirit::qi::double_;
         using boost::spirit::qi::real_parser;
         //]
 
         //[reference_real
+ // double
         test_parser("+12345e6", double_);
+ test_parser("-12345e6", double_);
+ test_parser("+12345e6", double_(12345e6));
+ test_parser("-12345e6", double_(-123456e6));
+ test_parser("+12345e6", double_(val(12345e6)));
+ test_parser("-12345e6", double_(val(-123456e6)));
+
+ // literals
+ test_parser("+12345e6", 12345e6);
+ test_parser("-12345e6", -12345e6);
+ test_parser("+12345e6", lit(12345e6));
+ test_parser("-12345e6", lit(-123456e6));
+ test_parser("+12345e6", lit(val(12345e6)));
+ test_parser("-12345e6", lit(val(-123456e6)));
         //]
         
         //[reference_custom_real
         real_parser<double, ts_real_policies<double> > ts_real;
         test_parser("123,456,789.01", ts_real);
+ test_parser("123,456,789.01", ts_real(123456789.01));
         //]
     }
 
     // bool_
     {
         //[reference_using_declarations_bool
+ using boost::phoenix::val;
+ using boost::spirit::qi::lit;
         using boost::spirit::qi::bool_;
         using boost::spirit::qi::bool_parser;
         //]
 
         //[reference_bool
+ // bool
         test_parser("true", bool_);
         test_parser("false", bool_);
+ test_parser("true", bool_(true));
+ test_parser("false", bool_(false));
+ test_parser("true", bool_(val(true)));
+ test_parser("false", bool_(val(false)));
+
+ // literals
+ test_parser("true", true);
+ test_parser("false", false);
+ test_parser("true", lit(true));
+ test_parser("false", lit(false));
+ test_parser("true", lit(val(true)));
+ test_parser("false", lit(val(false)));
         //]
 
         //[reference_custom_bool
         bool_parser<bool, backwards_bool_policies> backwards_bool;
         test_parser("true", backwards_bool);
         test_parser("eurt", backwards_bool);
+ test_parser("true", backwards_bool(true));
+ test_parser("eurt", backwards_bool(false));
         //]
     }
 

Modified: trunk/libs/spirit/test/Jamfile
==============================================================================
--- trunk/libs/spirit/test/Jamfile (original)
+++ trunk/libs/spirit/test/Jamfile 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -33,7 +33,8 @@
      [ run qi/and_predicate.cpp : : : : qi_and_predicate ]
      [ run qi/auto.cpp : : : : qi_auto ]
      [ run qi/binary.cpp : : : : qi_binary ]
- [ run qi/bool.cpp : : : : qi_bool ]
+ [ run qi/bool1.cpp : : : : qi_bool1 ]
+ [ run qi/bool2.cpp : : : : qi_bool2 ]
      [ run qi/char.cpp : : : : qi_char ]
      [ run qi/char_class.cpp : : : : qi_char_class ]
      [ run qi/debug.cpp : : : : qi_debug ]
@@ -45,6 +46,7 @@
      [ run qi/grammar.cpp : : : : qi_grammar ]
      [ run qi/int1.cpp : : : : qi_int1 ]
      [ run qi/int2.cpp : : : : qi_int2 ]
+ [ run qi/int3.cpp : : : : qi_int3 ]
      [ run qi/kleene.cpp : : : : qi_kleene ]
      [ run qi/lazy.cpp : : : : qi_lazy ]
      [ run qi/lexeme.cpp : : : : qi_lexeme ]
@@ -69,6 +71,7 @@
      [ run qi/real2.cpp : : : : qi_real2 ]
      [ run qi/real3.cpp : : : : qi_real3 ]
      [ run qi/real4.cpp : : : : qi_real4 ]
+ [ run qi/real5.cpp : : : : qi_real5 ]
      [ run qi/repeat.cpp : : : : qi_repeat ]
      [ run qi/rule1.cpp : : : : qi_rule1 ]
      [ run qi/rule2.cpp : : : : qi_rule2 ]
@@ -83,6 +86,7 @@
      [ run qi/tst.cpp : : : : qi_tst ]
      [ run qi/uint1.cpp : : : : qi_uint1 ]
      [ run qi/uint2.cpp : : : : qi_uint2 ]
+ [ run qi/uint3.cpp : : : : qi_uint3 ]
      [ run qi/utree1.cpp : : : : qi_utree1 ]
      [ run qi/utree2.cpp : : : : qi_utree2 ]
      [ run qi/utree3.cpp : : : : qi_utree3 ]
@@ -94,10 +98,12 @@
     test-suite spirit_v2/qi_regressions :
 
      [ compile qi/regression_attr_with_action.cpp : : qi_regression_attr_with_action ]
- [ run qi/regression_clear.cpp : : : : qi_regression_clear ]
      [ compile qi/regression_debug_optional.cpp : : qi_regression_debug_optional ]
      [ compile qi/regression_one_element_fusion_sequence.cpp : : qi_regression_one_element_fusion_sequence ]
- [ compile qi/regression_one_element_sequence_attribute.cpp : : qi_regression_one_element_sequence_attribute ]
+ [ compile qi/regression_one_element_sequence_attribute.cpp : : qi_regression_one_element_sequence_attribute ]
+ [ run qi/regression_clear.cpp : : : : qi_regression_clear ]
+ [ run qi/regression_float_fraction.cpp : : : : qi_regression_float_fraction ]
+ [ run qi/regression_lazy_repeat.cpp : : : : qi_regression_lazy_repeat ]
      [ run qi/regression_reorder.cpp : : : : qi_regression_reorder ]
      [ run qi/regression_repeat.cpp : : : : qi_regression_repeat ]
 
@@ -140,9 +146,9 @@
      [ run karma/format_pointer_container.cpp : : : : karma_format_pointer_container ]
      [ run karma/generate_attr.cpp : : : : karma_generate_attr ]
      [ run karma/grammar.cpp : : : : karma_grammar ]
- [ run karma/int_numerics1.cpp : : : : karma_int_numerics1 ]
- [ run karma/int_numerics2.cpp : : : : karma_int_numerics2 ]
- [ run karma/int_numerics3.cpp : : : : karma_int_numerics3 ]
+ [ run karma/int1.cpp : : : : karma_int1 ]
+ [ run karma/int2.cpp : : : : karma_int2 ]
+ [ run karma/int3.cpp : : : : karma_int3 ]
      [ run karma/kleene.cpp : : : : karma_kleene ]
      [ run karma/lazy.cpp : : : : karma_lazy ]
      [ run karma/left_alignment.cpp : : : : karma_left_alignment ]
@@ -157,9 +163,9 @@
      [ run karma/pattern3.cpp : : : : karma_pattern3 ]
      [ run karma/pattern4.cpp : : : : karma_pattern4 ]
      [ run karma/plus.cpp : : : : karma_plus ]
- [ run karma/real_numerics1.cpp : : : : karma_real_numerics1 ]
- [ run karma/real_numerics2.cpp : : : : karma_real_numerics2 ]
- [ run karma/real_numerics3.cpp : : : : karma_real_numerics3 ]
+ [ run karma/real1.cpp : : : : karma_real1 ]
+ [ run karma/real2.cpp : : : : karma_real2 ]
+ [ run karma/real3.cpp : : : : karma_real3 ]
      [ run karma/repeat1.cpp : : : : karma_repeat1 ]
      [ run karma/repeat2.cpp : : : : karma_repeat2 ]
      [ run karma/right_alignment.cpp : : : : karma_right_alignment ]

Deleted: trunk/libs/spirit/test/karma/int_numerics1.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/int_numerics1.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,175 +0,0 @@
-// Copyright (c) 2001-2010 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//#define KARMA_FAIL_COMPILATION
-
-#include <boost/config/warning_disable.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/spirit/include/phoenix_core.hpp>
-#include <boost/spirit/include/phoenix_operator.hpp>
-#include <boost/spirit/include/phoenix_statement.hpp>
-
-#include <boost/spirit/include/karma_char.hpp>
-#include <boost/spirit/include/karma_numeric.hpp>
-#include <boost/spirit/include/karma_directive.hpp>
-#include <boost/spirit/include/karma_action.hpp>
-#include <boost/spirit/include/karma_phoenix_attributes.hpp>
-
-#include <limits>
-#include "test.hpp"
-
-using namespace spirit_test;
-
-///////////////////////////////////////////////////////////////////////////////
-int
-main()
-{
- using namespace boost::spirit;
-
- {
- using namespace boost::spirit::ascii;
-
- ///////////////////////////////////////////////////////////////////////
- // this is currently ambiguous with character literals
- BOOST_TEST(test("0", 0));
- BOOST_TEST(test("123", 123));
- BOOST_TEST(test("-123", -123));
-
- BOOST_TEST(test("0", int_, 0));
- BOOST_TEST(test("123", int_, 123));
- BOOST_TEST(test("-123", int_, -123));
-
- BOOST_TEST(test_delimited("0 ", int_, 0, char_(' ')));
- BOOST_TEST(test_delimited("123 ", int_, 123, char_(' ')));
- BOOST_TEST(test_delimited("-123 ", int_, -123, char_(' ')));
-
- BOOST_TEST(test("0", lower[int_], 0));
- BOOST_TEST(test("123", lower[int_], 123));
- BOOST_TEST(test("-123", lower[int_], -123));
-
- BOOST_TEST(test_delimited("0 ", lower[int_], 0, char_(' ')));
- BOOST_TEST(test_delimited("123 ", lower[int_], 123, char_(' ')));
- BOOST_TEST(test_delimited("-123 ", lower[int_], -123, char_(' ')));
-
- BOOST_TEST(test("0", upper[int_], 0));
- BOOST_TEST(test("123", upper[int_], 123));
- BOOST_TEST(test("-123", upper[int_], -123));
-
- BOOST_TEST(test_delimited("0 ", upper[int_], 0, char_(' ')));
- BOOST_TEST(test_delimited("123 ", upper[int_], 123, char_(' ')));
- BOOST_TEST(test_delimited("-123 ", upper[int_], -123, char_(' ')));
-
- ///////////////////////////////////////////////////////////////////////
- BOOST_TEST(test("0", int_(0)));
- BOOST_TEST(test("123", int_(123)));
- BOOST_TEST(test("-123", int_(-123)));
-
- BOOST_TEST(test_delimited("0 ", int_(0), char_(' ')));
- BOOST_TEST(test_delimited("123 ", int_(123), char_(' ')));
- BOOST_TEST(test_delimited("-123 ", int_(-123), char_(' ')));
-
- BOOST_TEST(test("0", lower[int_(0)]));
- BOOST_TEST(test("123", lower[int_(123)]));
- BOOST_TEST(test("-123", lower[int_(-123)]));
-
- BOOST_TEST(test_delimited("0 ", lower[int_(0)], char_(' ')));
- BOOST_TEST(test_delimited("123 ", lower[int_(123)], char_(' ')));
- BOOST_TEST(test_delimited("-123 ", lower[int_(-123)], char_(' ')));
-
- BOOST_TEST(test("0", upper[int_(0)]));
- BOOST_TEST(test("123", upper[int_(123)]));
- BOOST_TEST(test("-123", upper[int_(-123)]));
-
- BOOST_TEST(test_delimited("0 ", upper[int_(0)], char_(' ')));
- BOOST_TEST(test_delimited("123 ", upper[int_(123)], char_(' ')));
- BOOST_TEST(test_delimited("-123 ", upper[int_(-123)], char_(' ')));
- }
-
- { // literals, make sure there are no ambiguities
- BOOST_TEST(test("0", lit(short(0))));
- BOOST_TEST(test("0", lit(0)));
- BOOST_TEST(test("0", lit(0L)));
-#ifdef BOOST_HAS_LONG_LONG
- BOOST_TEST(test("0", lit(0LL)));
-#endif
-
- BOOST_TEST(test("0", lit((unsigned short)0)));
- BOOST_TEST(test("0", lit(0U)));
- BOOST_TEST(test("0", lit(0UL)));
-#ifdef BOOST_HAS_LONG_LONG
- BOOST_TEST(test("0", lit(0ULL)));
-#endif
-
- BOOST_TEST(test("a", lit('a')));
- BOOST_TEST(test("a", 'a'));
- BOOST_TEST(test(L"a", L'a'));
- }
-
- { // lazy numerics
- using namespace boost::phoenix;
-
- BOOST_TEST(test("0", int_(val(0))));
- BOOST_TEST(test("123", int_(val(123))));
- BOOST_TEST(test("-123", int_(val(-123))));
-
- int i1 = 0, i2 = 123, i3 = -123;
- BOOST_TEST(test("0", int_(ref(i1))));
- BOOST_TEST(test("123", int_(ref(i2))));
- BOOST_TEST(test("-123", int_(ref(i3))));
- }
-
- {
- ///////////////////////////////////////////////////////////////////////
- using namespace boost::spirit::ascii;
- BOOST_TEST(test("1234", uint_(1234)));
- BOOST_TEST(test("ff", hex(0xff)));
- BOOST_TEST(test("1234", oct(01234)));
- BOOST_TEST(test("11110000", bin(0xf0)));
-
- BOOST_TEST(test_delimited("1234 ", uint_(1234), char_(' ')));
- BOOST_TEST(test_delimited("ff ", hex(0xff), char_(' ')));
- BOOST_TEST(test_delimited("1234 ", oct(01234), char_(' ')));
- BOOST_TEST(test_delimited("11110000 ", bin(0xf0), char_(' ')));
-
- BOOST_TEST(test("1234", lower[uint_(1234)]));
- BOOST_TEST(test("ff", lower[hex(0xff)]));
- BOOST_TEST(test("1234", lower[oct(01234)]));
- BOOST_TEST(test("11110000", lower[bin(0xf0)]));
-
- BOOST_TEST(test_delimited("1234 ", lower[uint_(1234)], char_(' ')));
- BOOST_TEST(test_delimited("ff ", lower[hex(0xff)], char_(' ')));
- BOOST_TEST(test_delimited("1234 ", lower[oct(01234)], char_(' ')));
- BOOST_TEST(test_delimited("11110000 ", lower[bin(0xf0)], char_(' ')));
-
- BOOST_TEST(test("1234", upper[uint_(1234)]));
- BOOST_TEST(test("FF", upper[hex(0xff)]));
- BOOST_TEST(test("1234", upper[oct(01234)]));
- BOOST_TEST(test("11110000", upper[bin(0xf0)]));
-
- BOOST_TEST(test_delimited("1234 ", upper[uint_(1234)], char_(' ')));
- BOOST_TEST(test_delimited("FF ", upper[hex(0xff)], char_(' ')));
- BOOST_TEST(test_delimited("1234 ", upper[oct(01234)], char_(' ')));
- BOOST_TEST(test_delimited("11110000 ", upper[bin(0xf0)], char_(' ')));
-
- BOOST_TEST(test("FF", upper[upper[hex(0xff)]]));
- BOOST_TEST(test("FF", upper[lower[hex(0xff)]]));
- BOOST_TEST(test("ff", lower[upper[hex(0xff)]]));
- BOOST_TEST(test("ff", lower[lower[hex(0xff)]]));
-
- BOOST_TEST(test_delimited("FF ", upper[upper[hex(0xff)]], char_(' ')));
- BOOST_TEST(test_delimited("FF ", upper[lower[hex(0xff)]], char_(' ')));
- BOOST_TEST(test_delimited("ff ", lower[upper[hex(0xff)]], char_(' ')));
- BOOST_TEST(test_delimited("ff ", lower[lower[hex(0xff)]], char_(' ')));
- }
-
- return boost::report_errors();
-}
-

Deleted: trunk/libs/spirit/test/karma/int_numerics2.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/int_numerics2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,168 +0,0 @@
-// Copyright (c) 2001-2010 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//#define KARMA_FAIL_COMPILATION
-
-#include <boost/config/warning_disable.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/spirit/include/phoenix_core.hpp>
-#include <boost/spirit/include/phoenix_operator.hpp>
-#include <boost/spirit/include/phoenix_statement.hpp>
-
-#include <boost/spirit/include/karma_char.hpp>
-#include <boost/spirit/include/karma_numeric.hpp>
-#include <boost/spirit/include/karma_directive.hpp>
-#include <boost/spirit/include/karma_action.hpp>
-#include <boost/spirit/include/karma_phoenix_attributes.hpp>
-
-#include <limits>
-#include "test.hpp"
-
-using namespace spirit_test;
-
-
-///////////////////////////////////////////////////////////////////////////////
-int
-main()
-{
- using namespace boost::spirit;
-
- {
- using namespace boost::spirit::ascii;
-
- karma::int_generator<int, 10, true> const signed_int =
- karma::int_generator<int, 10, true>();
-
- ///////////////////////////////////////////////////////////////////////
- BOOST_TEST(test(" 0", signed_int, 0));
- BOOST_TEST(test("+123", signed_int, 123));
- BOOST_TEST(test("-123", signed_int, -123));
-
- BOOST_TEST(test_delimited(" 0 ", signed_int, 0, char_(' ')));
- BOOST_TEST(test_delimited("+123 ", signed_int, 123, char_(' ')));
- BOOST_TEST(test_delimited("-123 ", signed_int, -123, char_(' ')));
-
- BOOST_TEST(test(" 0", lower[signed_int], 0));
- BOOST_TEST(test("+123", lower[signed_int], 123));
- BOOST_TEST(test("-123", lower[signed_int], -123));
-
- BOOST_TEST(test_delimited(" 0 ", lower[signed_int], 0, char_(' ')));
- BOOST_TEST(test_delimited("+123 ", lower[signed_int], 123, char_(' ')));
- BOOST_TEST(test_delimited("-123 ", lower[signed_int], -123, char_(' ')));
-
- BOOST_TEST(test(" 0", upper[signed_int], 0));
- BOOST_TEST(test("+123", upper[signed_int], 123));
- BOOST_TEST(test("-123", upper[signed_int], -123));
-
- BOOST_TEST(test_delimited(" 0 ", upper[signed_int], 0, char_(' ')));
- BOOST_TEST(test_delimited("+123 ", upper[signed_int], 123, char_(' ')));
- BOOST_TEST(test_delimited("-123 ", upper[signed_int], -123, char_(' ')));
-
- ///////////////////////////////////////////////////////////////////////
- BOOST_TEST(test(" 0", signed_int(0)));
- BOOST_TEST(test("+123", signed_int(123)));
- BOOST_TEST(test("-123", signed_int(-123)));
-
- BOOST_TEST(test_delimited(" 0 ", signed_int(0), char_(' ')));
- BOOST_TEST(test_delimited("+123 ", signed_int(123), char_(' ')));
- BOOST_TEST(test_delimited("-123 ", signed_int(-123), char_(' ')));
-
- BOOST_TEST(test(" 0", lower[signed_int(0)]));
- BOOST_TEST(test("+123", lower[signed_int(123)]));
- BOOST_TEST(test("-123", lower[signed_int(-123)]));
-
- BOOST_TEST(test_delimited(" 0 ", lower[signed_int(0)], char_(' ')));
- BOOST_TEST(test_delimited("+123 ", lower[signed_int(123)], char_(' ')));
- BOOST_TEST(test_delimited("-123 ", lower[signed_int(-123)], char_(' ')));
-
- BOOST_TEST(test(" 0", upper[signed_int(0)]));
- BOOST_TEST(test("+123", upper[signed_int(123)]));
- BOOST_TEST(test("-123", upper[signed_int(-123)]));
-
- BOOST_TEST(test_delimited(" 0 ", upper[signed_int(0)], char_(' ')));
- BOOST_TEST(test_delimited("+123 ", upper[signed_int(123)], char_(' ')));
- BOOST_TEST(test_delimited("-123 ", upper[signed_int(-123)], char_(' ')));
-
- using namespace boost::phoenix;
-
- BOOST_TEST(test(" 0", signed_int(val(0))));
- BOOST_TEST(test("+123", signed_int(val(123))));
- BOOST_TEST(test("-123", signed_int(val(-123))));
-
- int i1 = 0, i2 = 123, i3 = -123;
- BOOST_TEST(test(" 0", signed_int(ref(i1))));
- BOOST_TEST(test("+123", signed_int(ref(i2))));
- BOOST_TEST(test("-123", signed_int(ref(i3))));
- }
-
- {
- ///////////////////////////////////////////////////////////////////////
- using namespace boost::spirit::ascii;
-
- BOOST_TEST(test("1234", uint_, 1234));
- BOOST_TEST(test("ff", hex, 0xff));
- BOOST_TEST(test("1234", oct, 01234));
- BOOST_TEST(test("11110000", bin, 0xf0));
-
- BOOST_TEST(test_delimited("1234 ", uint_, 1234, char_(' ')));
- BOOST_TEST(test_delimited("ff ", hex, 0xff, char_(' ')));
- BOOST_TEST(test_delimited("1234 ", oct, 01234, char_(' ')));
- BOOST_TEST(test_delimited("11110000 ", bin, 0xf0, char_(' ')));
-
- // test unsigned generator with signed integral value
- BOOST_TEST(test("ff", hex, (char)0xff));
- BOOST_TEST(test_delimited("ff ", hex, (char)0xff, char_(' ')));
-
- BOOST_TEST(test("1234", lower[uint_], 1234));
- BOOST_TEST(test("ff", lower[hex], 0xff));
- BOOST_TEST(test("1234", lower[oct], 01234));
- BOOST_TEST(test("11110000", lower[bin], 0xf0));
-
- BOOST_TEST(test_delimited("1234 ", lower[uint_], 1234, char_(' ')));
- BOOST_TEST(test_delimited("ff ", lower[hex], 0xff, char_(' ')));
- BOOST_TEST(test_delimited("1234 ", lower[oct], 01234, char_(' ')));
- BOOST_TEST(test_delimited("11110000 ", lower[bin], 0xf0, char_(' ')));
-
- BOOST_TEST(test("1234", upper[uint_], 1234));
- BOOST_TEST(test("FF", upper[hex], 0xff));
- BOOST_TEST(test("1234", upper[oct], 01234));
- BOOST_TEST(test("11110000", upper[bin], 0xf0));
-
- BOOST_TEST(test_delimited("1234 ", upper[uint_], 1234, char_(' ')));
- BOOST_TEST(test_delimited("FF ", upper[hex], 0xff, char_(' ')));
- BOOST_TEST(test_delimited("1234 ", upper[oct], 01234, char_(' ')));
- BOOST_TEST(test_delimited("11110000 ", upper[bin], 0xf0, char_(' ')));
-
- // no generator transformation should occur for uint_'s
- BOOST_TEST(test("1234", upper[upper[uint_]], 1234));
- BOOST_TEST(test("1234", upper[lower[uint_]], 1234));
- BOOST_TEST(test("1234", lower[upper[uint_]], 1234));
- BOOST_TEST(test("1234", lower[lower[uint_]], 1234));
-
- BOOST_TEST(test_delimited("1234 ", upper[upper[uint_]], 1234, char_(' ')));
- BOOST_TEST(test_delimited("1234 ", upper[lower[uint_]], 1234, char_(' ')));
- BOOST_TEST(test_delimited("1234 ", lower[upper[uint_]], 1234, char_(' ')));
- BOOST_TEST(test_delimited("1234 ", lower[lower[uint_]], 1234, char_(' ')));
-
- BOOST_TEST(test("FF", upper[upper[hex]], 0xff));
- BOOST_TEST(test("FF", upper[lower[hex]], 0xff));
- BOOST_TEST(test("ff", lower[upper[hex]], 0xff));
- BOOST_TEST(test("ff", lower[lower[hex]], 0xff));
-
- BOOST_TEST(test_delimited("FF ", upper[upper[hex]], 0xff, char_(' ')));
- BOOST_TEST(test_delimited("FF ", upper[lower[hex]], 0xff, char_(' ')));
- BOOST_TEST(test_delimited("ff ", lower[upper[hex]], 0xff, char_(' ')));
- BOOST_TEST(test_delimited("ff ", lower[lower[hex]], 0xff, char_(' ')));
- }
-
- return boost::report_errors();
-}
-

Deleted: trunk/libs/spirit/test/karma/int_numerics3.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/int_numerics3.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,129 +0,0 @@
-// Copyright (c) 2001-2010 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//#define KARMA_FAIL_COMPILATION
-
-#include <boost/config/warning_disable.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/spirit/include/phoenix_core.hpp>
-#include <boost/spirit/include/phoenix_operator.hpp>
-#include <boost/spirit/include/phoenix_statement.hpp>
-
-#include <boost/spirit/include/karma_char.hpp>
-#include <boost/spirit/include/karma_numeric.hpp>
-#include <boost/spirit/include/karma_directive.hpp>
-#include <boost/spirit/include/karma_action.hpp>
-#include <boost/spirit/include/karma_phoenix_attributes.hpp>
-
-#include <limits>
-#include "test.hpp"
-
-using namespace spirit_test;
-
-///////////////////////////////////////////////////////////////////////////////
-struct test_minmax
-{
- template <typename T>
- void operator()(T) const
- {
- using namespace boost::spirit;
- using namespace boost::phoenix;
-
- T minval = (std::numeric_limits<T>::min)();
- T maxval = (std::numeric_limits<T>::max)();
-
- std::string expected_minval = boost::lexical_cast<std::string>(minval);
- std::string expected_maxval = boost::lexical_cast<std::string>(maxval);
-
- // create a correct generator type from the given integer type
- typedef typename
- boost::mpl::if_<
- boost::mpl::bool_<std::numeric_limits<T>::is_signed>,
- karma::int_generator<T>,
- karma::uint_generator<T>
- >::type
- int_generator_type;
-
- int_generator_type const gen = int_generator_type();
-
- BOOST_TEST(test(expected_maxval, gen, maxval));
- BOOST_TEST(test(expected_minval, gen, minval));
- BOOST_TEST(test(expected_maxval, gen(maxval)));
- BOOST_TEST(test(expected_minval, gen(minval)));
- BOOST_TEST(test(expected_maxval, gen(maxval), maxval));
- BOOST_TEST(test(expected_minval, gen(minval), minval));
- BOOST_TEST(!test("", gen(maxval), maxval-1));
- BOOST_TEST(!test("", gen(minval), minval+1));
- BOOST_TEST(test(expected_maxval, lit(maxval)));
- BOOST_TEST(test(expected_minval, lit(minval)));
-
- BOOST_TEST(test_delimited(expected_maxval + " ", gen, maxval, char(' ')));
- BOOST_TEST(test_delimited(expected_minval + " ", gen, minval, char(' ')));
- BOOST_TEST(test_delimited(expected_maxval + " ", gen(maxval), char(' ')));
- BOOST_TEST(test_delimited(expected_minval + " ", gen(minval), char(' ')));
- BOOST_TEST(test_delimited(expected_maxval + " ", gen(maxval), maxval, char(' ')));
- BOOST_TEST(test_delimited(expected_minval + " ", gen(minval), minval, char(' ')));
- BOOST_TEST(!test_delimited("", gen(maxval), maxval-1, char(' ')));
- BOOST_TEST(!test_delimited("", gen(minval), minval+1, char(' ')));
- BOOST_TEST(test_delimited(expected_maxval + " ", lit(maxval), char(' ')));
- BOOST_TEST(test_delimited(expected_minval + " ", lit(minval), char(' ')));
-
- // action tests
- BOOST_TEST(test(expected_maxval, gen[_1 = val(maxval)]));
- BOOST_TEST(test(expected_minval, gen[_1 = val(minval)]));
-
- // optional tests
- boost::optional<T> optmin, optmax(maxval);
-
- BOOST_TEST(!test("", gen, optmin));
- BOOST_TEST(!test("", gen(minval), optmin));
-
- optmin = minval;
- BOOST_TEST(test(expected_minval, gen, optmin));
- BOOST_TEST(test(expected_maxval, gen, optmax));
- BOOST_TEST(test(expected_minval, gen(minval), optmin));
- BOOST_TEST(test(expected_maxval, gen(maxval), optmax));
-
-// we support Phoenix attributes only starting with V2.2
-#if SPIRIT_VERSION >= 0x2020
- // Phoenix expression tests (only supported while including
- // karma_phoenix_attributes.hpp
- namespace phoenix = boost::phoenix;
-
- BOOST_TEST(test("1", gen, phoenix::val(1)));
-
- T val = 1;
- BOOST_TEST(test("1", gen, phoenix::ref(val)));
- BOOST_TEST(test("2", gen, ++phoenix::ref(val)));
-#endif
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-int
-main()
-{
- using namespace boost::spirit;
-
-// test boundary values
- typedef boost::mpl::vector<
-#ifdef BOOST_HAS_LONG_LONG
- boost::long_long_type, boost::ulong_long_type,
-#endif
- short, unsigned short,
- int, unsigned int,
- long, unsigned long
- > integer_types;
- boost::mpl::for_each<integer_types>(test_minmax());
-
- return boost::report_errors();
-}
-

Copied: trunk/libs/spirit/test/karma/real1.cpp (from r67512, /trunk/libs/spirit/test/karma/real_numerics1.cpp)
==============================================================================
--- /trunk/libs/spirit/test/karma/real_numerics1.cpp (original)
+++ trunk/libs/spirit/test/karma/real1.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 
 //#define KARMA_FAIL_COMPILATION
 
-#include "real_numerics.hpp"
+#include "real.hpp"
 
 ///////////////////////////////////////////////////////////////////////////////
 int main()

Copied: trunk/libs/spirit/test/karma/real2.cpp (from r67512, /trunk/libs/spirit/test/karma/real_numerics2.cpp)
==============================================================================
--- /trunk/libs/spirit/test/karma/real_numerics2.cpp (original)
+++ trunk/libs/spirit/test/karma/real2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 
 //#define KARMA_FAIL_COMPILATION
 
-#include "real_numerics.hpp"
+#include "real.hpp"
 
 ///////////////////////////////////////////////////////////////////////////////
 int main()

Copied: trunk/libs/spirit/test/karma/real3.cpp (from r67512, /trunk/libs/spirit/test/karma/real_numerics3.cpp)
==============================================================================
--- /trunk/libs/spirit/test/karma/real_numerics3.cpp (original)
+++ trunk/libs/spirit/test/karma/real3.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -6,7 +6,7 @@
 
 //#define KARMA_FAIL_COMPILATION
 
-#include "real_numerics.hpp"
+#include "real.hpp"
 
 ///////////////////////////////////////////////////////////////////////////////
 int main()

Deleted: trunk/libs/spirit/test/karma/real_numerics.hpp
==============================================================================
--- trunk/libs/spirit/test/karma/real_numerics.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,120 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Hartmut Kaiser
- Copyright (c) 2010 Bryce Lelbach
-
- 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)
-==============================================================================*/
-
-#if !defined(BOOST_SPIRIT_TEST_REAL_NUMERICS_HPP)
-#define BOOST_SPIRIT_TEST_REAL_NUMERICS_HPP
-
-#include <boost/version.hpp>
-#include <boost/config/warning_disable.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/math/concepts/real_concept.hpp>
-
-#include <boost/spirit/include/karma_char.hpp>
-#include <boost/spirit/include/karma_numeric.hpp>
-#include <boost/spirit/include/karma_generate.hpp>
-#include <boost/spirit/include/karma_directive.hpp>
-#include <boost/spirit/include/karma_phoenix_attributes.hpp>
-
-#include <boost/spirit/include/phoenix_core.hpp>
-#include <boost/spirit/include/phoenix_operator.hpp>
-#include <boost/spirit/include/phoenix_statement.hpp>
-
-#include <limits>
-#include "test.hpp"
-
-using namespace spirit_test;
-
-///////////////////////////////////////////////////////////////////////////////
-// policy for real_generator, which forces the scientific notation
-template <typename T>
-struct scientific_policy : boost::spirit::karma::real_policies<T>
-{
- // we want the numbers always to be in scientific format
- typedef boost::spirit::karma::real_policies<T> base_type;
- static int floatfield(T) { return base_type::fmtflags::scientific; }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// policy for real_generator, which forces the fixed notation
-template <typename T>
-struct fixed_policy : boost::spirit::karma::real_policies<T>
-{
- typedef boost::spirit::karma::real_policies<T> base_type;
-
- // we want the numbers always to be in scientific format
- static int floatfield(T) { return base_type::fmtflags::fixed; }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// policy for real_generator, which forces to output trailing zeros in the
-// fractional part
-template <typename T>
-struct trailing_zeros_policy : boost::spirit::karma::real_policies<T> // 4 digits
-{
- // we want the numbers always to contain trailing zeros up to 4 digits in
- // the fractional part
- static bool trailing_zeros(T) { return true; }
-
- // we want to generate up to 4 fractional digits
- static unsigned int precision(T) { return 4; }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// policy for real_generator, which forces the sign to be generated
-template <typename T>
-struct signed_policy : boost::spirit::karma::real_policies<T>
-{
- // we want to always have a sign generated
- static bool force_sign(T)
- {
- return true;
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// policy for real_generator, which forces to output trailing zeros in the
-// fractional part
-template <typename T>
-struct bordercase_policy : boost::spirit::karma::real_policies<T>
-{
- // we want to generate up to the maximum significant amount of fractional
- // digits
- static unsigned int precision(T)
- {
- return std::numeric_limits<T>::digits10 + 1;
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// policy for real_generator, which forces to output trailing zeros in the
-// fractional part
-template <typename T>
-struct statefull_policy : boost::spirit::karma::real_policies<T>
-{
- statefull_policy(int precision = 4, bool trailingzeros = false)
- : precision_(precision), trailingzeros_(trailingzeros)
- {}
-
- // we want to generate up to the maximum significant amount of fractional
- // digits
- unsigned int precision(T) const
- {
- return precision_;
- }
-
- bool trailing_zeros(T) const
- {
- return trailingzeros_;
- }
-
- int precision_;
- bool trailingzeros_;
-};
-
-#endif // BOOST_SPIRIT_TEST_REAL_NUMERICS_HPP
-

Deleted: trunk/libs/spirit/test/karma/real_numerics1.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/real_numerics1.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,177 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// Copyright (c) 2011 Bryce Lelbach
-//
-// 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)
-
-//#define KARMA_FAIL_COMPILATION
-
-#include "real_numerics.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-int main()
-{
- using namespace boost::spirit;
-
- {
- ///////////////////////////////////////////////////////////////////////
- // use the default real_policies
- BOOST_TEST(test("0.0", double_, 0.0));
- BOOST_TEST(test("1.0", double_, 1.0));
- BOOST_TEST(test("1.0", double_, 1.0001));
- BOOST_TEST(test("1.001", double_, 1.001));
- BOOST_TEST(test("1.01", double_, 1.010));
- BOOST_TEST(test("1.1", double_, 1.100));
-
- BOOST_TEST(test("1.234e-04", double_, 0.00012345));
- BOOST_TEST(test("0.001", double_, 0.0012345));
- BOOST_TEST(test("0.012", double_, 0.012345));
- BOOST_TEST(test("0.123", double_, 0.12345));
- BOOST_TEST(test("1.234", double_, 1.2345));
- BOOST_TEST(test("12.346", double_, 12.346));
- BOOST_TEST(test("123.46", double_, 123.46));
- BOOST_TEST(test("1234.5", double_, 1234.5));
- BOOST_TEST(test("12342.0", double_, 12342.));
- BOOST_TEST(test("1.234e05", double_, 123420.));
-
- BOOST_TEST(test("-1.0", double_, -1.0));
- BOOST_TEST(test("-1.234", double_, -1.2345));
- BOOST_TEST(test("-1.235", double_, -1.2346));
- BOOST_TEST(test("-1234.2", double_, -1234.2));
-
- BOOST_TEST(test("1.0", double_(1.0)));
- BOOST_TEST(test("1.0", double_(1.0001)));
- BOOST_TEST(test("1.001", double_(1.001)));
- BOOST_TEST(test("1.01", double_(1.010)));
- BOOST_TEST(test("1.1", double_(1.100)));
-
- BOOST_TEST(test("1.234e-04", double_(0.00012345)));
- BOOST_TEST(test("0.001", double_(0.0012345)));
- BOOST_TEST(test("0.012", double_(0.012345)));
- BOOST_TEST(test("0.123", double_(0.12345)));
- BOOST_TEST(test("1.234", double_(1.2345)));
- BOOST_TEST(test("12.346", double_(12.346)));
- BOOST_TEST(test("123.46", double_(123.46)));
- BOOST_TEST(test("1234.5", double_(1234.5)));
- BOOST_TEST(test("12342.0", double_(12342.)));
- BOOST_TEST(test("1.234e05", double_(123420.)));
- }
-
- {
- ///////////////////////////////////////////////////////////////////////
- // test NaN and Inf
- BOOST_TEST(test("nan", double_, std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("-nan", double_, -std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("inf", double_, std::numeric_limits<double>::infinity()));
- BOOST_TEST(test("-inf", double_, -std::numeric_limits<double>::infinity()));
-
- typedef karma::real_generator<double, signed_policy<double> > signed_type;
- signed_type const signed_ = signed_type();
-
- BOOST_TEST(test("+nan", signed_, std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("-nan", signed_, -std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("+inf", signed_, std::numeric_limits<double>::infinity()));
- BOOST_TEST(test("-inf", signed_, -std::numeric_limits<double>::infinity()));
- BOOST_TEST(test(" 0.0", signed_, 0.0));
-
- BOOST_TEST(test("+nan", signed_(std::numeric_limits<double>::quiet_NaN())));
- BOOST_TEST(test("-nan", signed_(-std::numeric_limits<double>::quiet_NaN())));
- BOOST_TEST(test("+inf", signed_(std::numeric_limits<double>::infinity())));
- BOOST_TEST(test("-inf", signed_(-std::numeric_limits<double>::infinity())));
- BOOST_TEST(test(" 0.0", signed_(0.0)));
- }
-
- {
- ///////////////////////////////////////////////////////////////////////
- typedef karma::real_generator<double, statefull_policy<double> >
- statefull_type;
-
- statefull_policy<double> policy(5, true);
- statefull_type const statefull = statefull_type(policy);
-
- BOOST_TEST(test("0.00000", statefull, 0.0));
- BOOST_TEST(test("0.00000", statefull(0.0)));
-
- using namespace boost::phoenix;
- BOOST_TEST(test("0.00000", statefull(val(0.0))));
- }
-
- {
- ///////////////////////////////////////////////////////////////////////
- typedef karma::real_generator<double, trailing_zeros_policy<double> >
- trailing_zeros_type;
- trailing_zeros_type const trail_zeros = trailing_zeros_type();
-
- BOOST_TEST(test("0.0000", trail_zeros, 0.0));
- BOOST_TEST(test("1.0000", trail_zeros, 1.0));
- BOOST_TEST(test("1.0001", trail_zeros, 1.0001));
- BOOST_TEST(test("1.0010", trail_zeros, 1.001));
- BOOST_TEST(test("1.0100", trail_zeros, 1.010));
- BOOST_TEST(test("1.1000", trail_zeros, 1.100));
-
- BOOST_TEST(test("1.2345e-04", trail_zeros, 0.00012345));
- BOOST_TEST(test("0.0012", trail_zeros, 0.0012345));
- BOOST_TEST(test("0.0123", trail_zeros, 0.012345));
- BOOST_TEST(test("0.1235", trail_zeros, 0.12345));
- BOOST_TEST(test("1.2345", trail_zeros, 1.2345));
- BOOST_TEST(test("12.3460", trail_zeros, 12.346));
- BOOST_TEST(test("123.4600", trail_zeros, 123.46));
- BOOST_TEST(test("1234.5000", trail_zeros, 1234.5));
- BOOST_TEST(test("12342.0000", trail_zeros, 12342.));
- BOOST_TEST(test("1.2342e05", trail_zeros, 123420.));
-
- BOOST_TEST(test("-1.0000", trail_zeros, -1.0));
- BOOST_TEST(test("-1.2345", trail_zeros, -1.2345));
- BOOST_TEST(test("-1.2346", trail_zeros, -1.2346));
- BOOST_TEST(test("-1234.2000", trail_zeros, -1234.2));
-
- BOOST_TEST(test("1.0000", trail_zeros(1.0)));
- BOOST_TEST(test("1.0001", trail_zeros(1.0001)));
- BOOST_TEST(test("1.0010", trail_zeros(1.001)));
- BOOST_TEST(test("1.0100", trail_zeros(1.010)));
- BOOST_TEST(test("1.1000", trail_zeros(1.100)));
-
- BOOST_TEST(test("1.2345e-04", trail_zeros(0.00012345)));
- BOOST_TEST(test("0.0012", trail_zeros(0.0012345)));
- BOOST_TEST(test("0.0123", trail_zeros(0.012345)));
- BOOST_TEST(test("0.1235", trail_zeros(0.12345)));
- BOOST_TEST(test("1.2345", trail_zeros(1.2345)));
- BOOST_TEST(test("12.3460", trail_zeros(12.346)));
- BOOST_TEST(test("123.4600", trail_zeros(123.46)));
- BOOST_TEST(test("1234.5000", trail_zeros(1234.5)));
- BOOST_TEST(test("12342.0000", trail_zeros(12342.)));
- BOOST_TEST(test("1.2342e05", trail_zeros(123420.)));
- }
-
- {
- using namespace boost::spirit::ascii;
-
- ///////////////////////////////////////////////////////////////////////
- // test NaN and Inf
- BOOST_TEST(test("NAN", upper[double_],
- std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("-NAN", upper[double_],
- -std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("INF", upper[double_],
- std::numeric_limits<double>::infinity()));
- BOOST_TEST(test("-INF", upper[double_],
- -std::numeric_limits<double>::infinity()));
-
- typedef karma::real_generator<double, signed_policy<double> > signed_type;
- signed_type const signed_ = signed_type();
-
- BOOST_TEST(test("+NAN", upper[signed_],
- std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("-NAN", upper[signed_],
- -std::numeric_limits<double>::quiet_NaN()));
- BOOST_TEST(test("+INF", upper[signed_],
- std::numeric_limits<double>::infinity()));
- BOOST_TEST(test("-INF", upper[signed_],
- -std::numeric_limits<double>::infinity()));
- BOOST_TEST(test(" 0.0", upper[signed_], 0.0));
- }
-
-
- return boost::report_errors();
-}
-

Deleted: trunk/libs/spirit/test/karma/real_numerics2.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/real_numerics2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,164 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// Copyright (c) 2011 Bryce Lelbach
-//
-// 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)
-
-//#define KARMA_FAIL_COMPILATION
-
-#include "real_numerics.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-int main()
-{
- using namespace boost::spirit;
-
- {
- using namespace boost::spirit::ascii;
-
- ///////////////////////////////////////////////////////////////////////
- BOOST_TEST(test_delimited("0.0 ", double_, 0.0, char_(' ')));
- BOOST_TEST(test_delimited("1.0 ", double_, 1.0, char_(' ')));
- BOOST_TEST(test_delimited("1.0 ", double_, 1.0001, char_(' ')));
- BOOST_TEST(test_delimited("1.001 ", double_, 1.001, char_(' ')));
- BOOST_TEST(test_delimited("1.01 ", double_, 1.010, char_(' ')));
- BOOST_TEST(test_delimited("1.1 ", double_, 1.100, char_(' ')));
-
- BOOST_TEST(test_delimited("1.234e-04 ", double_, 0.00012345, char_(' ')));
- BOOST_TEST(test_delimited("0.001 ", double_, 0.0012345, char_(' ')));
- BOOST_TEST(test_delimited("0.012 ", double_, 0.012345, char_(' ')));
- BOOST_TEST(test_delimited("0.123 ", double_, 0.12345, char_(' ')));
- BOOST_TEST(test_delimited("1.234 ", double_, 1.2345, char_(' ')));
- BOOST_TEST(test_delimited("12.346 ", double_, 12.346, char_(' ')));
- BOOST_TEST(test_delimited("123.46 ", double_, 123.46, char_(' ')));
- BOOST_TEST(test_delimited("1234.5 ", double_, 1234.5, char_(' ')));
- BOOST_TEST(test_delimited("12342.0 ", double_, 12342., char_(' ')));
- BOOST_TEST(test_delimited("1.234e05 ", double_, 123420., char_(' ')));
-
- BOOST_TEST(test_delimited("-1.0 ", double_, -1.0, char_(' ')));
- BOOST_TEST(test_delimited("-1.234 ", double_, -1.2345, char_(' ')));
- BOOST_TEST(test_delimited("-1.235 ", double_, -1.2346, char_(' ')));
- BOOST_TEST(test_delimited("-1234.2 ", double_, -1234.2, char_(' ')));
-
- BOOST_TEST(test_delimited("1.0 ", double_(1.0), char_(' ')));
- BOOST_TEST(test_delimited("1.0 ", double_(1.0001), char_(' ')));
- BOOST_TEST(test_delimited("1.001 ", double_(1.001), char_(' ')));
- BOOST_TEST(test_delimited("1.01 ", double_(1.010), char_(' ')));
- BOOST_TEST(test_delimited("1.1 ", double_(1.100), char_(' ')));
-
- BOOST_TEST(test_delimited("1.234e-04 ", double_(0.00012345), char_(' ')));
- BOOST_TEST(test_delimited("0.001 ", double_(0.0012345), char_(' ')));
- BOOST_TEST(test_delimited("0.012 ", double_(0.012345), char_(' ')));
- BOOST_TEST(test_delimited("0.123 ", double_(0.12345), char_(' ')));
- BOOST_TEST(test_delimited("1.234 ", double_(1.2345), char_(' ')));
- BOOST_TEST(test_delimited("12.346 ", double_(12.346), char_(' ')));
- BOOST_TEST(test_delimited("123.46 ", double_(123.46), char_(' ')));
- BOOST_TEST(test_delimited("1234.5 ", double_(1234.5), char_(' ')));
- BOOST_TEST(test_delimited("12342.0 ", double_(12342.), char_(' ')));
- BOOST_TEST(test_delimited("1.234e05 ", double_(123420.), char_(' ')));
- }
-
- {
- using namespace boost::spirit::ascii;
-
- ///////////////////////////////////////////////////////////////////////
- // test NaN and Inf
- BOOST_TEST(test_delimited("nan ", double_,
- std::numeric_limits<double>::quiet_NaN(), char_(' ')));
- BOOST_TEST(test_delimited("-nan ", double_,
- -std::numeric_limits<double>::quiet_NaN(), char_(' ')));
- BOOST_TEST(test_delimited("inf ", double_,
- std::numeric_limits<double>::infinity(), char_(' ')));
- BOOST_TEST(test_delimited("-inf ", double_,
- -std::numeric_limits<double>::infinity(), char_(' ')));
-
- typedef karma::real_generator<double, signed_policy<double> > signed_type;
- signed_type const signed_ = signed_type();
-
- BOOST_TEST(test_delimited("+nan ", signed_,
- std::numeric_limits<double>::quiet_NaN(), char_(' ')));
- BOOST_TEST(test_delimited("-nan ", signed_,
- -std::numeric_limits<double>::quiet_NaN(), char_(' ')));
- BOOST_TEST(test_delimited("+inf ", signed_,
- std::numeric_limits<double>::infinity(), char_(' ')));
- BOOST_TEST(test_delimited("-inf ", signed_,
- -std::numeric_limits<double>::infinity(), char_(' ')));
- BOOST_TEST(test_delimited(" 0.0 ", signed_, 0.0, char_(' ')));
- }
-
- {
- using namespace boost::spirit::ascii;
-
- ///////////////////////////////////////////////////////////////////////
- typedef karma::real_generator<double, scientific_policy<double> >
- science_type;
- science_type const science = science_type();
-
- BOOST_TEST(test("0.0e00", science, 0.0));
- BOOST_TEST(test("1.0e00", science, 1.0));
-
- BOOST_TEST(test("1.234e-05", science, 0.000012345));
- BOOST_TEST(test("1.234e-04", science, 0.00012345));
- BOOST_TEST(test("1.234e-03", science, 0.0012345));
- BOOST_TEST(test("1.234e-02", science, 0.012345));
- BOOST_TEST(test("1.235e-01", science, 0.12345)); // note the rounding error!
- BOOST_TEST(test("1.234e00", science, 1.2345));
- BOOST_TEST(test("1.235e01", science, 12.346));
- BOOST_TEST(test("1.235e02", science, 123.46));
- BOOST_TEST(test("1.234e03", science, 1234.5));
- BOOST_TEST(test("1.234e04", science, 12342.));
- BOOST_TEST(test("1.234e05", science, 123420.));
-
- BOOST_TEST(test("-1.234e-05", science, -0.000012345));
- BOOST_TEST(test("-1.234e-04", science, -0.00012345));
- BOOST_TEST(test("-1.234e-03", science, -0.0012345));
- BOOST_TEST(test("-1.234e-02", science, -0.012345));
- BOOST_TEST(test("-1.235e-01", science, -0.12345)); // note the rounding error!
- BOOST_TEST(test("-1.234e00", science, -1.2345));
- BOOST_TEST(test("-1.235e01", science, -12.346));
- BOOST_TEST(test("-1.235e02", science, -123.46));
- BOOST_TEST(test("-1.234e03", science, -1234.5));
- BOOST_TEST(test("-1.234e04", science, -12342.));
- BOOST_TEST(test("-1.234e05", science, -123420.));
-
- BOOST_TEST(test("1.234E-05", upper[science], 0.000012345));
- BOOST_TEST(test("1.234E-04", upper[science], 0.00012345));
- BOOST_TEST(test("1.234E-03", upper[science], 0.0012345));
- BOOST_TEST(test("1.234E-02", upper[science], 0.012345));
- BOOST_TEST(test("1.235E-01", upper[science], 0.12345)); // note the rounding error!
- BOOST_TEST(test("1.234E00", upper[science], 1.2345));
- BOOST_TEST(test("1.235E01", upper[science], 12.346));
- BOOST_TEST(test("1.235E02", upper[science], 123.46));
- BOOST_TEST(test("1.234E03", upper[science], 1234.5));
- BOOST_TEST(test("1.234E04", upper[science], 12342.));
- BOOST_TEST(test("1.234E05", upper[science], 123420.));
-
- BOOST_TEST(test("-1.234E-05", upper[science], -0.000012345));
- BOOST_TEST(test("-1.234E-04", upper[science], -0.00012345));
- BOOST_TEST(test("-1.234E-03", upper[science], -0.0012345));
- BOOST_TEST(test("-1.234E-02", upper[science], -0.012345));
- BOOST_TEST(test("-1.235E-01", upper[science], -0.12345)); // note the rounding error!
- BOOST_TEST(test("-1.234E00", upper[science], -1.2345));
- BOOST_TEST(test("-1.235E01", upper[science], -12.346));
- BOOST_TEST(test("-1.235E02", upper[science], -123.46));
- BOOST_TEST(test("-1.234E03", upper[science], -1234.5));
- BOOST_TEST(test("-1.234E04", upper[science], -12342.));
- BOOST_TEST(test("-1.234E05", upper[science], -123420.));
- }
-
- {
- BOOST_TEST(test("1.0", lit(1.0)));
- BOOST_TEST(test("1.0", lit(1.0f)));
- BOOST_TEST(test("1.0", lit(1.0l)));
-
- BOOST_TEST(test("1.0", double_(1.0), 1.0));
- BOOST_TEST(test("1.0", float_(1.0), 1.0f));
- BOOST_TEST(test("1.0", long_double(1.0), 1.0l));
- BOOST_TEST(!test("", double_(1.0), 2.0));
- BOOST_TEST(!test("", float_(1.0), 2.0f));
- BOOST_TEST(!test("", long_double(1.0), 2.0l));
- }
-
- return boost::report_errors();
-}
-

Deleted: trunk/libs/spirit/test/karma/real_numerics3.cpp
==============================================================================
--- trunk/libs/spirit/test/karma/real_numerics3.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,154 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// Copyright (c) 2011 Bryce Lelbach
-//
-// 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)
-
-//#define KARMA_FAIL_COMPILATION
-
-#include "real_numerics.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-int main()
-{
- using namespace boost::spirit;
-
- {
- using namespace boost::spirit::ascii;
-
- ///////////////////////////////////////////////////////////////////////
- typedef karma::real_generator<double, fixed_policy<double> > fixed_type;
- fixed_type const fixed = fixed_type();
-
- BOOST_TEST(test("0.0", fixed, 0.0));
- BOOST_TEST(test("1.0", fixed, 1.0));
-
- BOOST_TEST(test("0.0", fixed, 0.000012345));
- BOOST_TEST(test("0.0", fixed, 0.00012345));
- BOOST_TEST(test("0.001", fixed, 0.0012345));
- BOOST_TEST(test("0.012", fixed, 0.012345));
- BOOST_TEST(test("0.123", fixed, 0.12345));
- BOOST_TEST(test("1.234", fixed, 1.2345));
- BOOST_TEST(test("12.345", fixed, 12.345));
- BOOST_TEST(test("123.45", fixed, 123.45));
- BOOST_TEST(test("1234.5", fixed, 1234.5));
- BOOST_TEST(test("12342.0", fixed, 12342.));
- BOOST_TEST(test("123420.0", fixed, 123420.));
- BOOST_TEST(test("123420000000000000000.0", fixed, 1.23420e20));
-
- BOOST_TEST(test("0.0", fixed, -0.000012345));
- BOOST_TEST(test("0.0", fixed, -0.00012345));
- BOOST_TEST(test("-0.001", fixed, -0.0012345));
- BOOST_TEST(test("-0.012", fixed, -0.012345));
- BOOST_TEST(test("-0.123", fixed, -0.12345));
- BOOST_TEST(test("-1.234", fixed, -1.2345));
- BOOST_TEST(test("-12.346", fixed, -12.346));
- BOOST_TEST(test("-123.46", fixed, -123.46));
- BOOST_TEST(test("-1234.5", fixed, -1234.5));
- BOOST_TEST(test("-12342.0", fixed, -12342.));
- BOOST_TEST(test("-123420.0", fixed, -123420.));
- BOOST_TEST(test("-123420000000000000000.0", fixed, -1.23420e20));
- }
-
-
-// support for using real_concept with a Karma generator has been implemented
-// in Boost versions > 1.36 only, additionally real_concept is available only
-// if BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS is not defined
-#if BOOST_VERSION > 103600 && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
- {
- using boost::math::concepts::real_concept;
- typedef karma::real_generator<real_concept> custom_type;
- custom_type const custom = custom_type();
-
- BOOST_TEST(test("0.0", custom, real_concept(0.0)));
- BOOST_TEST(test("1.0", custom, real_concept(1.0)));
- BOOST_TEST(test("1.0", custom, real_concept(1.0001)));
- BOOST_TEST(test("1.001", custom, real_concept(1.001)));
- BOOST_TEST(test("1.01", custom, real_concept(1.010)));
- BOOST_TEST(test("1.1", custom, real_concept(1.100)));
-
- BOOST_TEST(test("1.234e-04", custom, real_concept(0.00012345)));
- BOOST_TEST(test("0.001", custom, real_concept(0.0012345)));
- BOOST_TEST(test("0.012", custom, real_concept(0.012345)));
- BOOST_TEST(test("0.123", custom, real_concept(0.12345)));
- BOOST_TEST(test("1.234", custom, real_concept(1.2345)));
- BOOST_TEST(test("12.346", custom, real_concept(12.346)));
- BOOST_TEST(test("123.46", custom, real_concept(123.46)));
- BOOST_TEST(test("1234.5", custom, real_concept(1234.5)));
- BOOST_TEST(test("12342.0", custom, real_concept(12342.)));
- BOOST_TEST(test("1.234e05", custom, real_concept(123420.)));
-
- BOOST_TEST(test("-1.0", custom, real_concept(-1.0)));
- BOOST_TEST(test("-1.234", custom, real_concept(-1.2345)));
- BOOST_TEST(test("-1.235", custom, real_concept(-1.2346)));
- BOOST_TEST(test("-1234.2", custom, real_concept(-1234.2)));
-
- BOOST_TEST(test("1.0", custom(real_concept(1.0))));
- BOOST_TEST(test("1.0", custom(real_concept(1.0001))));
- BOOST_TEST(test("1.001", custom(real_concept(1.001))));
- BOOST_TEST(test("1.01", custom(real_concept(1.010))));
- BOOST_TEST(test("1.1", custom(real_concept(1.100))));
-
- BOOST_TEST(test("1.234e-04", custom(real_concept(0.00012345))));
- BOOST_TEST(test("0.001", custom(real_concept(0.0012345))));
- BOOST_TEST(test("0.012", custom(real_concept(0.012345))));
- BOOST_TEST(test("0.123", custom(real_concept(0.12345))));
- BOOST_TEST(test("1.234", custom(real_concept(1.2345))));
- BOOST_TEST(test("12.346", custom(real_concept(12.346))));
- BOOST_TEST(test("123.46", custom(real_concept(123.46))));
- BOOST_TEST(test("1234.5", custom(real_concept(1234.5))));
- BOOST_TEST(test("12342.0", custom(real_concept(12342.))));
- BOOST_TEST(test("1.234e05", custom(real_concept(123420.))));
- }
-#endif
-
-// this appears to be broken on Apple Tiger x86 with gcc4.0.1
-#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ != 40001) || \
- !defined(__APPLE__)
- {
- ///////////////////////////////////////////////////////////////////////
- typedef karma::real_generator<double, bordercase_policy<double> >
- bordercase_type;
- bordercase_type const bordercase = bordercase_type();
-
-// BOOST_TEST(test("-5.7222349715140557e307",
-// bordercase(-5.7222349715140557e307)));
-
- BOOST_TEST(test("1.7976931348623158e308",
- bordercase(1.7976931348623158e308))); // DBL_MAX
- BOOST_TEST(test("-1.7976931348623158e308",
- bordercase(-1.7976931348623158e308))); // -DBL_MAX
- BOOST_TEST(test("2.2250738585072014e-308",
- bordercase(2.2250738585072014e-308))); // DBL_MIN
- BOOST_TEST(test("-2.2250738585072014e-308",
- bordercase(-2.2250738585072014e-308))); // -DBL_MIN
- }
-#endif
-
- {
- boost::optional<double> v;
- BOOST_TEST(!test("", double_, v));
- BOOST_TEST(!test("", double_(1.0), v));
-
- v = 1.0;
- BOOST_TEST(test("1.0", double_, v));
- BOOST_TEST(test("1.0", double_(1.0), v));
- }
-
-// we support Phoenix attributes only starting with V2.2
-#if SPIRIT_VERSION >= 0x2020
- { // Phoenix expression tests (requires to include
- // karma_phoenix_attributes.hpp)
- namespace phoenix = boost::phoenix;
-
- BOOST_TEST(test("1.0", double_, phoenix::val(1.0)));
-
- double d = 1.2;
- BOOST_TEST(test("1.2", double_, phoenix::ref(d)));
- BOOST_TEST(test("2.2", double_, ++phoenix::ref(d)));
- }
-#endif
-
- return boost::report_errors();
-}
-

Modified: trunk/libs/spirit/test/qi/auto.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/auto.cpp (original)
+++ trunk/libs/spirit/test/qi/auto.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -118,14 +118,6 @@
     }
 
     {
- // test primitive types
- bool b = false;
- BOOST_TEST(test_create_parser_auto("true", b) && b == true);
- int i = 0;
- BOOST_TEST(test_create_parser_auto("1", i) && i == 1);
- double d = 0;
- BOOST_TEST(test_create_parser_auto("1.1", d) && d == 1.1);
-
         // test containers
         std::vector<int> v;
         BOOST_TEST(test_create_parser_auto("0 1 2", v) && v.size() == 3 &&

Deleted: trunk/libs/spirit/test/qi/bool.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/bool.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
+++ (empty file)
@@ -1,116 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2010 Hartmut Kaiser
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/spirit/include/support_argument.hpp>
-#include <boost/spirit/include/qi_char.hpp>
-#include <boost/spirit/include/qi_numeric.hpp>
-#include <boost/spirit/include/qi_directive.hpp>
-#include <boost/cstdint.hpp>
-#include "test.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-struct backwards_bool_policies : boost::spirit::qi::bool_policies<>
-{
- // we want to interpret a 'true' spelled backwards as 'false'
- template <typename Iterator, typename Attribute>
- static bool
- parse_false(Iterator& first, Iterator const& last, Attribute& attr)
- {
- namespace spirit = boost::spirit;
- namespace qi = boost::spirit::qi;
- if (qi::detail::string_parse("eurt", first, last, qi::unused))
- {
- spirit::traits::assign_to(false, attr); // result is false
- return true;
- }
- return false;
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-struct test_bool_type
-{
- test_bool_type(bool b) : b(b) {} // provide conversion
- bool b;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-int main()
-{
- using spirit_test::test_attr;
- using spirit_test::test;
- using boost::spirit::qi::bool_;
-
- {
- BOOST_TEST(test("true", bool_));
- BOOST_TEST(test("false", bool_));
- BOOST_TEST(!test("fasle", bool_));
- }
-
- {
- using boost::spirit::qi::true_;
- using boost::spirit::qi::false_;
-
- BOOST_TEST(test("true", true_));
- BOOST_TEST(!test("true", false_));
- BOOST_TEST(test("false", false_));
- BOOST_TEST(!test("false", true_));
- }
-
- {
- using boost::spirit::qi::true_;
- using boost::spirit::qi::false_;
- using boost::spirit::qi::no_case;
-
- BOOST_TEST(test("True", no_case[bool_]));
- BOOST_TEST(test("False", no_case[bool_]));
- BOOST_TEST(test("True", no_case[true_]));
- BOOST_TEST(test("False", no_case[false_]));
- }
-
- {
- bool b = false;
- BOOST_TEST(test_attr("true", bool_, b) && b);
- BOOST_TEST(test_attr("false", bool_, b) && !b);
- BOOST_TEST(!test_attr("fasle", bool_, b));
- }
-
- {
- typedef boost::spirit::qi::bool_parser<bool, backwards_bool_policies>
- backwards_bool_type;
- backwards_bool_type const backwards_bool = backwards_bool_type();
-
- BOOST_TEST(test("true", backwards_bool));
- BOOST_TEST(test("eurt", backwards_bool));
- BOOST_TEST(!test("false", backwards_bool));
- BOOST_TEST(!test("fasle", backwards_bool));
-
- bool b = false;
- BOOST_TEST(test_attr("true", backwards_bool, b) && b);
- BOOST_TEST(test_attr("eurt", backwards_bool, b) && !b);
- BOOST_TEST(!test_attr("false", backwards_bool, b));
- BOOST_TEST(!test_attr("fasle", backwards_bool, b));
- }
-
- {
- typedef boost::spirit::qi::bool_parser<test_bool_type>
- bool_test_type;
- bool_test_type const test_bool = bool_test_type();
-
- BOOST_TEST(test("true", test_bool));
- BOOST_TEST(test("false", test_bool));
- BOOST_TEST(!test("fasle", test_bool));
-
- test_bool_type b = false;
- BOOST_TEST(test_attr("true", test_bool, b) && b.b);
- BOOST_TEST(test_attr("false", test_bool, b) && !b.b);
- BOOST_TEST(!test_attr("fasle", test_bool, b));
- }
-
- return boost::report_errors();
-}

Added: trunk/libs/spirit/test/qi/bool.hpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/bool.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
+
+ 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)
+==============================================================================*/
+#if !defined(BOOST_SPIRIT_TEST_QI_BOOL)
+#define BOOST_SPIRIT_TEST_QI_BOOL
+
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/spirit/include/support_argument.hpp>
+#include <boost/spirit/include/qi_char.hpp>
+#include <boost/spirit/include/qi_numeric.hpp>
+#include <boost/spirit/include/qi_directive.hpp>
+#include <boost/cstdint.hpp>
+#include "test.hpp"
+
+///////////////////////////////////////////////////////////////////////////////
+struct backwards_bool_policies : boost::spirit::qi::bool_policies<>
+{
+ // we want to interpret a 'true' spelled backwards as 'false'
+ template <typename Iterator, typename Attribute>
+ static bool
+ parse_false(Iterator& first, Iterator const& last, Attribute& attr)
+ {
+ namespace spirit = boost::spirit;
+ namespace qi = boost::spirit::qi;
+ if (qi::detail::string_parse("eurt", first, last, qi::unused))
+ {
+ spirit::traits::assign_to(false, attr); // result is false
+ return true;
+ }
+ return false;
+ }
+};
+
+///////////////////////////////////////////////////////////////////////////////
+struct test_bool_type
+{
+ test_bool_type(bool b) : b(b) {} // provide conversion
+ bool b;
+};
+
+#endif
+

Copied: trunk/libs/spirit/test/qi/bool1.cpp (from r67512, /trunk/libs/spirit/test/qi/bool.cpp)
==============================================================================
--- /trunk/libs/spirit/test/qi/bool.cpp (original)
+++ trunk/libs/spirit/test/qi/bool1.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,45 +1,13 @@
 /*=============================================================================
- Copyright (c) 2001-2010 Hartmut Kaiser
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
-#include <boost/detail/lightweight_test.hpp>
 
-#include <boost/spirit/include/support_argument.hpp>
-#include <boost/spirit/include/qi_char.hpp>
-#include <boost/spirit/include/qi_numeric.hpp>
-#include <boost/spirit/include/qi_directive.hpp>
-#include <boost/cstdint.hpp>
-#include "test.hpp"
+#include "bool.hpp"
 
-///////////////////////////////////////////////////////////////////////////////
-struct backwards_bool_policies : boost::spirit::qi::bool_policies<>
-{
- // we want to interpret a 'true' spelled backwards as 'false'
- template <typename Iterator, typename Attribute>
- static bool
- parse_false(Iterator& first, Iterator const& last, Attribute& attr)
- {
- namespace spirit = boost::spirit;
- namespace qi = boost::spirit::qi;
- if (qi::detail::string_parse("eurt", first, last, qi::unused))
- {
- spirit::traits::assign_to(false, attr); // result is false
- return true;
- }
- return false;
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-struct test_bool_type
-{
- test_bool_type(bool b) : b(b) {} // provide conversion
- bool b;
-};
-
-///////////////////////////////////////////////////////////////////////////////
 int main()
 {
     using spirit_test::test_attr;

Added: trunk/libs/spirit/test/qi/bool2.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/bool2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,101 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#include "bool.hpp"
+
+int main()
+{
+ using spirit_test::test_attr;
+ using spirit_test::test;
+ using boost::spirit::qi::bool_;
+ using boost::spirit::qi::lit;
+ using boost::spirit::qi::no_case;
+
+ {
+ BOOST_TEST(test("true", bool_(true)));
+ BOOST_TEST(test("false", bool_(false)));
+ BOOST_TEST(!test("fasle", bool_(false)));
+ BOOST_TEST(!test("false", bool_(true)));
+ BOOST_TEST(!test("true", bool_(false)));
+ }
+
+ {
+ BOOST_TEST(test("True", no_case[bool_(true)]));
+ BOOST_TEST(test("False", no_case[bool_(false)]));
+ BOOST_TEST(test("TRUE", no_case[bool_(true)]));
+ BOOST_TEST(test("FALSE", no_case[bool_(false)]));
+ BOOST_TEST(!test("True", no_case[bool_(false)]));
+ BOOST_TEST(!test("False", no_case[bool_(true)]));
+ }
+
+ {
+ bool b = false;
+ BOOST_TEST(test_attr("true", bool_(true), b) && b);
+ BOOST_TEST(test_attr("false", bool_(false), b) && !b);
+ BOOST_TEST(!test_attr("fasle", bool_(false), b));
+ }
+
+ {
+ typedef boost::spirit::qi::bool_parser<bool, backwards_bool_policies>
+ backwards_bool_type;
+ backwards_bool_type const backwards_bool = backwards_bool_type();
+
+ BOOST_TEST(test("true", backwards_bool(true)));
+ BOOST_TEST(test("eurt", backwards_bool(false)));
+ BOOST_TEST(!test("true", backwards_bool(false)));
+ BOOST_TEST(!test("eurt", backwards_bool(true)));
+ }
+
+ {
+ using boost::phoenix::ref;
+ bool n = true, m = false;
+
+ BOOST_TEST(test("true", bool_(ref(n))));
+ BOOST_TEST(!test("true", bool_(ref(m))));
+ }
+
+ {
+ BOOST_TEST(test("true", lit(true)));
+ BOOST_TEST(test("false", lit(false)));
+ BOOST_TEST(!test("fasle", lit(false)));
+ BOOST_TEST(!test("false", lit(true)));
+ BOOST_TEST(!test("true", lit(false)));
+
+ BOOST_TEST(test("true", true));
+ BOOST_TEST(test("false", false));
+ BOOST_TEST(!test("fasle", false));
+ BOOST_TEST(!test("false", true));
+ BOOST_TEST(!test("true", false));
+ }
+
+ {
+ BOOST_TEST(test("True", no_case[lit(true)]));
+ BOOST_TEST(test("False", no_case[lit(false)]));
+ BOOST_TEST(test("TRUE", no_case[lit(true)]));
+ BOOST_TEST(test("FALSE", no_case[lit(false)]));
+ BOOST_TEST(!test("True", no_case[lit(false)]));
+ BOOST_TEST(!test("False", no_case[lit(true)]));
+
+ BOOST_TEST(test("True", no_case[true]));
+ BOOST_TEST(test("False", no_case[false]));
+ BOOST_TEST(test("TRUE", no_case[true]));
+ BOOST_TEST(test("FALSE", no_case[false]));
+ BOOST_TEST(!test("True", no_case[false]));
+ BOOST_TEST(!test("False", no_case[true]));
+ }
+
+ {
+ using boost::phoenix::ref;
+ bool n = true, m = false;
+
+ BOOST_TEST(test("true", lit(ref(n))));
+ BOOST_TEST(!test("true", lit(ref(m))));
+ }
+
+ return boost::report_errors();
+}

Modified: trunk/libs/spirit/test/qi/int.hpp
==============================================================================
--- trunk/libs/spirit/test/qi/int.hpp (original)
+++ trunk/libs/spirit/test/qi/int.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -71,6 +71,7 @@
     explicit custom_int(int n_) : n(n_) {}
     custom_int& operator=(int n_) { n = n_; return *this; }
     friend bool operator==(custom_int a, custom_int b) { return a.n == b.n; }
+ friend bool operator==(custom_int a, int b) { return a.n == b; }
     friend custom_int operator*(custom_int a, custom_int b) { return custom_int(a.n * b.n); }
     friend custom_int operator+(custom_int a, custom_int b) { return custom_int(a.n + b.n); }
     friend custom_int operator-(custom_int a, custom_int b) { return custom_int(a.n - b.n); }

Modified: trunk/libs/spirit/test/qi/int2.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/int2.cpp (original)
+++ trunk/libs/spirit/test/qi/int2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -19,33 +19,40 @@
     // signed integer literal tests
     ///////////////////////////////////////////////////////////////////////////
     {
- using boost::spirit::int_;
-
+ using boost::spirit::lit;
         int i = 123456;
 
- BOOST_TEST( test("123456", int_(123456)));
- BOOST_TEST(!test("123456", int_(0)));
+ BOOST_TEST( test("123456", lit(123456)));
+ BOOST_TEST(!test("123456", lit(0)));
+ BOOST_TEST( test("123456", 123456));
+ BOOST_TEST(!test("123456", 0));
         
- BOOST_TEST( test("123456", int_(i)));
- BOOST_TEST(!test("123456", int_(-i)));
-
- BOOST_TEST( test("+425", int_(425)));
- BOOST_TEST(!test("+425", int_(17)));
-
- BOOST_TEST( test("-2000", int_(-2000)));
- BOOST_TEST(!test("-2000", int_(2000)));
+ BOOST_TEST( test("123456", lit(i)));
+ BOOST_TEST(!test("123456", lit(-i)));
+ BOOST_TEST( test("123456", i));
+ BOOST_TEST(!test("123456", -i));
+
+ BOOST_TEST( test("+425", lit(425)));
+ BOOST_TEST(!test("+425", lit(17)));
+ BOOST_TEST( test("+425", 425));
+ BOOST_TEST(!test("+425", 17));
+
+ BOOST_TEST( test("-2000", lit(-2000)));
+ BOOST_TEST(!test("-2000", lit(2000)));
+ BOOST_TEST( test("-2000", -2000));
+ BOOST_TEST(!test("-2000", 2000));
 
- BOOST_TEST( test(max_int, int_(INT_MAX)));
- BOOST_TEST(!test(max_int, int_(INT_MIN)));
+ BOOST_TEST( test(max_int, lit(INT_MAX)));
+ BOOST_TEST(!test(max_int, lit(INT_MIN)));
 
- BOOST_TEST( test(min_int, int_(INT_MIN)));
- BOOST_TEST(!test(min_int, int_(INT_MAX)));
+ BOOST_TEST( test(min_int, lit(INT_MIN)));
+ BOOST_TEST(!test(min_int, lit(INT_MAX)));
 
- BOOST_TEST(!test("-", int_(8451)));
- BOOST_TEST(!test("+", int_(8451)));
+ BOOST_TEST(!test("-", lit(8451)));
+ BOOST_TEST(!test("+", lit(8451)));
 
         // with leading zeros
- BOOST_TEST(test("000000000098765", int_(98765)));
+ BOOST_TEST(test("000000000098765", lit(98765)));
     }
 
     ///////////////////////////////////////////////////////////////////////////
@@ -53,23 +60,29 @@
     ///////////////////////////////////////////////////////////////////////////
 #ifdef BOOST_HAS_LONG_LONG
     {
- using boost::spirit::long_long;
+ using boost::spirit::lit;
         boost::long_long_type ll = 1234567890123456789LL;
 
- BOOST_TEST( test("1234567890123456789", long_long(1234567890123456789LL)));
- BOOST_TEST(!test("1234567890123456789", long_long(-19LL)));
+ BOOST_TEST( test("1234567890123456789", lit(1234567890123456789LL)));
+ BOOST_TEST(!test("1234567890123456789", lit(-19LL)));
+ BOOST_TEST( test("1234567890123456789", 1234567890123456789LL));
+ BOOST_TEST(!test("1234567890123456789", -19LL));
         
- BOOST_TEST( test("1234567890123456789", long_long(ll)));
- BOOST_TEST(!test("1234567890123456789", long_long(-ll)));
+ BOOST_TEST( test("1234567890123456789", lit(ll)));
+ BOOST_TEST(!test("1234567890123456789", lit(-ll)));
+ BOOST_TEST( test("1234567890123456789", ll));
+ BOOST_TEST(!test("1234567890123456789", -ll));
+
+ BOOST_TEST( test("-100000000000000", lit(-100000000000000LL)));
+ BOOST_TEST(!test("-100000000000000", lit(3243515525263LL)));
+ BOOST_TEST( test("-100000000000000", -100000000000000LL));
+ BOOST_TEST(!test("-100000000000000", 3243515525263LL));
 
- BOOST_TEST( test("-100000000000000", long_long(-100000000000000LL)));
- BOOST_TEST(!test("-100000000000000", long_long(3243515525263LL)));
+ BOOST_TEST( test(max_long_long, lit(LONG_LONG_MAX)));
+ BOOST_TEST(!test(max_long_long, lit(LONG_LONG_MIN)));
 
- BOOST_TEST( test(max_long_long, long_long(LONG_LONG_MAX)));
- BOOST_TEST(!test(max_long_long, long_long(LONG_LONG_MIN)));
-
- BOOST_TEST( test(min_long_long, long_long(LONG_LONG_MIN)));
- BOOST_TEST(!test(min_long_long, long_long(LONG_LONG_MAX)));
+ BOOST_TEST( test(min_long_long, lit(LONG_LONG_MIN)));
+ BOOST_TEST(!test(min_long_long, lit(LONG_LONG_MAX)));
     }
 #endif
 
@@ -77,30 +90,57 @@
     // short_ and long_ literal tests
     ///////////////////////////////////////////////////////////////////////////
     {
- using boost::spirit::short_;
- using boost::spirit::long_;
+ using boost::spirit::lit;
         short s = 12345;
         long l = 1234567890L;
 
- BOOST_TEST( test("12345", short_(12345)));
- BOOST_TEST(!test("12345", short_(-12345)));
- BOOST_TEST( test("12345", short_(s)));
- BOOST_TEST(!test("12345", short_(-s)));
-
- BOOST_TEST( test("-12345", short_(-12345)));
- BOOST_TEST(!test("-12345", short_(12345)));
- BOOST_TEST( test("-12345", short_(-s)));
- BOOST_TEST(!test("-12345", short_(s)));
-
- BOOST_TEST( test("1234567890", long_(1234567890)));
- BOOST_TEST(!test("1234567890", long_(-1234567890)));
- BOOST_TEST( test("1234567890", long_(l)));
- BOOST_TEST(!test("1234567890", long_(-l)));
-
- BOOST_TEST( test("-1234567890", long_(-1234567890)));
- BOOST_TEST(!test("-1234567890", long_(1234567890)));
- BOOST_TEST( test("-1234567890", long_(-l)));
- BOOST_TEST(!test("-1234567890", long_(l)));
+ BOOST_TEST( test("12345", lit(12345)));
+ BOOST_TEST(!test("12345", lit(-12345)));
+ BOOST_TEST( test("12345", lit(s)));
+ BOOST_TEST(!test("12345", lit(-s)));
+ BOOST_TEST( test("12345", 12345));
+ BOOST_TEST(!test("12345", -12345));
+ BOOST_TEST( test("12345", s));
+ BOOST_TEST(!test("12345", -s));
+
+ BOOST_TEST( test("-12345", lit(-12345)));
+ BOOST_TEST(!test("-12345", lit(12345)));
+ BOOST_TEST( test("-12345", lit(-s)));
+ BOOST_TEST(!test("-12345", lit(s)));
+ BOOST_TEST( test("-12345", -12345));
+ BOOST_TEST(!test("-12345", 12345));
+ BOOST_TEST( test("-12345", -s));
+ BOOST_TEST(!test("-12345", s));
+
+ BOOST_TEST( test("1234567890", lit(1234567890)));
+ BOOST_TEST(!test("1234567890", lit(-1234567890)));
+ BOOST_TEST( test("1234567890", lit(l)));
+ BOOST_TEST(!test("1234567890", lit(-l)));
+ BOOST_TEST( test("1234567890", 1234567890));
+ BOOST_TEST(!test("1234567890", -1234567890));
+ BOOST_TEST( test("1234567890", l));
+ BOOST_TEST(!test("1234567890", -l));
+
+ BOOST_TEST( test("-1234567890", lit(-1234567890)));
+ BOOST_TEST(!test("-1234567890", lit(1234567890)));
+ BOOST_TEST( test("-1234567890", lit(-l)));
+ BOOST_TEST(!test("-1234567890", lit(l)));
+ BOOST_TEST( test("-1234567890", -1234567890));
+ BOOST_TEST(!test("-1234567890", 1234567890));
+ BOOST_TEST( test("-1234567890", -l));
+ BOOST_TEST(!test("-1234567890", l));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // literal lazy tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::phoenix::ref;
+ using boost::spirit::qi::lit;
+ int n = 123, m = 321;
+
+ BOOST_TEST(test("123", lit(ref(n))));
+ BOOST_TEST(!test("123", lit(ref(m))));
     }
 
     return boost::report_errors();

Added: trunk/libs/spirit/test/qi/int3.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/int3.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,165 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#include "int.hpp"
+
+int
+main()
+{
+ using spirit_test::test;
+ using spirit_test::test_attr;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized signed integer tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::int_;
+ int i;
+
+ BOOST_TEST(test("123456", int_(123456)));
+ BOOST_TEST(!test("123456", int_(654321)));
+ BOOST_TEST(test_attr("123456", int_(123456), i));
+ BOOST_TEST(i == 123456);
+ BOOST_TEST(!test_attr("123456", int_(654321), i));
+
+ BOOST_TEST(test("+123456", int_(123456)));
+ BOOST_TEST(!test("+123456", int_(654321)));
+ BOOST_TEST(test_attr("+123456", int_(123456), i));
+ BOOST_TEST(i == 123456);
+ BOOST_TEST(!test_attr("+123456", int_(654321), i));
+
+ BOOST_TEST(test("-123456", int_(-123456)));
+ BOOST_TEST(!test("-123456", int_(123456)));
+ BOOST_TEST(test_attr("-123456", int_(-123456), i));
+ BOOST_TEST(i == -123456);
+ BOOST_TEST(!test_attr("-123456", int_(123456), i));
+
+ BOOST_TEST(test(max_int, int_(INT_MAX)));
+ BOOST_TEST(test_attr(max_int, int_(INT_MAX), i));
+ BOOST_TEST(i == INT_MAX);
+
+ BOOST_TEST(test(min_int, int_(INT_MIN)));
+ BOOST_TEST(test_attr(min_int, int_(INT_MIN), i));
+ BOOST_TEST(i == INT_MIN);
+
+ // with leading zeros
+ BOOST_TEST(test("0000000000123456", int_(123456)));
+ BOOST_TEST(test_attr("0000000000123456", int_(123456), i));
+ BOOST_TEST(i == 123456);
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized long long tests
+ ///////////////////////////////////////////////////////////////////////////
+#ifdef BOOST_HAS_LONG_LONG
+ {
+ using boost::spirit::long_long;
+ boost::long_long_type ll;
+
+ BOOST_TEST(test("1234567890123456789"
+ , long_long(1234567890123456789LL)));
+ BOOST_TEST(!test("1234567890123456789"
+ , long_long(0)));
+ BOOST_TEST(test_attr("1234567890123456789"
+ , long_long(1234567890123456789LL), ll));
+ BOOST_TEST(ll == 1234567890123456789LL);
+ BOOST_TEST(!test_attr("1234567890123456789"
+ , long_long(0), ll));
+
+ BOOST_TEST(test("-1234567890123456789"
+ , long_long(-1234567890123456789LL)));
+ BOOST_TEST(!test("-1234567890123456789"
+ , long_long(1234567890123456789LL)));
+ BOOST_TEST(test_attr("-1234567890123456789"
+ , long_long(-1234567890123456789LL), ll));
+ BOOST_TEST(ll == -1234567890123456789LL);
+ BOOST_TEST(!test_attr("-1234567890123456789"
+ , long_long(1234567890123456789LL), ll));
+
+ BOOST_TEST(test(max_long_long, long_long(LONG_LONG_MAX)));
+ BOOST_TEST(test_attr(max_long_long, long_long(LONG_LONG_MAX), ll));
+ BOOST_TEST(ll == LONG_LONG_MAX);
+
+ BOOST_TEST(test(min_long_long, long_long(LONG_LONG_MIN)));
+ BOOST_TEST(test_attr(min_long_long, long_long(LONG_LONG_MIN), ll));
+ BOOST_TEST(ll == LONG_LONG_MIN);
+ }
+#endif
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized short_ and long_ tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::short_;
+ using boost::spirit::long_;
+ int i;
+
+ BOOST_TEST(test("12345", short_(12345)));
+ BOOST_TEST(!test("12345", short_(54321)));
+ BOOST_TEST(test_attr("12345", short_(12345), i));
+ BOOST_TEST(i == 12345);
+ BOOST_TEST(!test_attr("12345", short_(54321), i));
+
+ BOOST_TEST(test("1234567890", long_(1234567890L)));
+ BOOST_TEST(!test("1234567890", long_(987654321L)));
+ BOOST_TEST(test_attr("1234567890", long_(1234567890L), i));
+ BOOST_TEST(i == 1234567890);
+ BOOST_TEST(!test_attr("1234567890", long_(987654321L), i));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized action tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::phoenix::ref;
+ using boost::spirit::ascii::space;
+ using boost::spirit::qi::int_;
+ using boost::spirit::qi::_1;
+ int n, m;
+
+ BOOST_TEST(test("123", int_(123)[ref(n) = _1]));
+ BOOST_TEST(n == 123);
+ BOOST_TEST(!test("123", int_(321)[ref(n) = _1]));
+
+ BOOST_TEST(test_attr("789", int_(789)[ref(n) = _1], m));
+ BOOST_TEST(n == 789 && m == 789);
+ BOOST_TEST(!test_attr("789", int_(987)[ref(n) = _1], m));
+
+ BOOST_TEST(test(" 456", int_(456)[ref(n) = _1], space));
+ BOOST_TEST(n == 456);
+ BOOST_TEST(!test(" 456", int_(654)[ref(n) = _1], space));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized lazy tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::phoenix::ref;
+ using boost::spirit::qi::int_;
+ int n = 123, m = 321;
+
+ BOOST_TEST(test("123", int_(ref(n))));
+ BOOST_TEST(!test("123", int_(ref(m))));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized custom int tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::int_;
+ using boost::spirit::qi::int_parser;
+ custom_int i;
+
+ BOOST_TEST(test_attr("-123456", int_(-123456), i));
+ int_parser<custom_int, 10, 1, 2> int2;
+ BOOST_TEST(test_attr("-12", int2(-12), i));
+ }
+
+ return boost::report_errors();
+}

Modified: trunk/libs/spirit/test/qi/real.hpp
==============================================================================
--- trunk/libs/spirit/test/qi/real.hpp (original)
+++ trunk/libs/spirit/test/qi/real.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -115,6 +115,10 @@
     double n;
     custom_real() : n(0) {}
     custom_real(double n_) : n(n_) {}
+ friend bool operator==(custom_real a, custom_real b)
+ { return a.n == b.n; }
+ friend bool operator==(custom_real a, double b)
+ { return a.n == b; }
     friend custom_real operator*(custom_real a, custom_real b)
         { return custom_real(a.n * b.n); }
     friend custom_real operator+(custom_real a, custom_real b)

Modified: trunk/libs/spirit/test/qi/real1.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/real1.cpp (original)
+++ trunk/libs/spirit/test/qi/real1.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,6 +1,7 @@
 /*=============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2001-2010 Hartmut Kaiser
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
 
     Use, modification and distribution is subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -15,9 +16,9 @@
     using spirit_test::test;
     using spirit_test::test_attr;
 
- ///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
     // thousand separated numbers
- ///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
     {
         using boost::spirit::qi::uint_parser;
         using boost::spirit::qi::parse;
@@ -35,16 +36,16 @@
         BOOST_TEST(!test("1,66", r));
     }
 
- ///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
     // unsigned real number tests
- ///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
     {
         using boost::spirit::qi::real_parser;
         using boost::spirit::qi::parse;
         using boost::spirit::qi::ureal_policies;
 
         real_parser<double, ureal_policies<double> > udouble;
- double d;
+ double d;
 
         BOOST_TEST(test("1234", udouble));
         BOOST_TEST(test_attr("1234", udouble, d) && compare(d, 1234));
@@ -75,20 +76,28 @@
         BOOST_TEST(test("infinity", udouble));
         BOOST_TEST(test("INF", udouble));
         BOOST_TEST(test("INFINITY", udouble));
- BOOST_TEST(test_attr("inf", udouble, d) && FP_INFINITE == fpclassify(d));
- BOOST_TEST(test_attr("INF", udouble, d) && FP_INFINITE == fpclassify(d));
- BOOST_TEST(test_attr("infinity", udouble, d) && FP_INFINITE == fpclassify(d));
- BOOST_TEST(test_attr("INFINITY", udouble, d) && FP_INFINITE == fpclassify(d));
+
+ BOOST_TEST(test_attr("inf", udouble, d)
+ && FP_INFINITE == fpclassify(d));
+ BOOST_TEST(test_attr("INF", udouble, d)
+ && FP_INFINITE == fpclassify(d));
+ BOOST_TEST(test_attr("infinity", udouble, d)
+ && FP_INFINITE == fpclassify(d));
+ BOOST_TEST(test_attr("INFINITY", udouble, d)
+ && FP_INFINITE == fpclassify(d));
 
         BOOST_TEST(test("nan", udouble));
- BOOST_TEST(test_attr("nan", udouble, d) && FP_NAN == fpclassify(d));
+ BOOST_TEST(test_attr("nan", udouble, d)
+ && FP_NAN == fpclassify(d));
         BOOST_TEST(test("NAN", udouble));
- BOOST_TEST(test_attr("NAN", udouble, d) && FP_NAN == fpclassify(d));
-
+ BOOST_TEST(test_attr("NAN", udouble, d)
+ && FP_NAN == fpclassify(d));
         BOOST_TEST(test("nan(...)", udouble));
- BOOST_TEST(test_attr("nan(...)", udouble, d) && FP_NAN == fpclassify(d));
+ BOOST_TEST(test_attr("nan(...)", udouble, d)
+ && FP_NAN == fpclassify(d));
         BOOST_TEST(test("NAN(...)", udouble));
- BOOST_TEST(test_attr("NAN(...)", udouble, d) && FP_NAN == fpclassify(d));
+ BOOST_TEST(test_attr("NAN(...)", udouble, d)
+ && FP_NAN == fpclassify(d));
 
         BOOST_TEST(!test("e3", udouble));
         BOOST_TEST(!test_attr("e3", udouble, d));

Modified: trunk/libs/spirit/test/qi/real2.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/real2.cpp (original)
+++ trunk/libs/spirit/test/qi/real2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,6 +1,7 @@
 /*=============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2001-2010 Hartmut Kaiser
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
 
     Use, modification and distribution is subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -14,9 +15,9 @@
 {
     using spirit_test::test;
     using spirit_test::test_attr;
-///////////////////////////////////////////////////////////////////////////////
-// signed real number tests
-///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
+ // signed real number tests
+ ///////////////////////////////////////////////////////////////////////////
     {
         using boost::spirit::qi::double_;
         using boost::spirit::qi::parse;

Modified: trunk/libs/spirit/test/qi/real3.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/real3.cpp (original)
+++ trunk/libs/spirit/test/qi/real3.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -15,9 +15,9 @@
     using spirit_test::test;
     using spirit_test::test_attr;
     
- ///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
     // strict real number tests
- ///////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
     {
         using boost::spirit::qi::real_parser;
         using boost::spirit::qi::parse;
@@ -60,13 +60,16 @@
         double d;
 
         BOOST_TEST(test("123,456,789.01", ts_real));
- BOOST_TEST(test_attr("123,456,789.01", ts_real, d) && compare(d, 123456789.01));
+ BOOST_TEST(test_attr("123,456,789.01", ts_real, d)
+ && compare(d, 123456789.01));
 
         BOOST_TEST(test("12,345,678.90", ts_real));
- BOOST_TEST(test_attr("12,345,678.90", ts_real, d) && compare(d, 12345678.90));
+ BOOST_TEST(test_attr("12,345,678.90", ts_real, d)
+ && compare(d, 12345678.90));
 
         BOOST_TEST(test("1,234,567.89", ts_real));
- BOOST_TEST(test_attr("1,234,567.89", ts_real, d) && compare(d, 1234567.89));
+ BOOST_TEST(test_attr("1,234,567.89", ts_real, d)
+ && compare(d, 1234567.89));
 
         BOOST_TEST(!test("1234,567,890", ts_real));
         BOOST_TEST(!test("1,234,5678,9", ts_real));

Modified: trunk/libs/spirit/test/qi/real4.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/real4.cpp (original)
+++ trunk/libs/spirit/test/qi/real4.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,6 +1,7 @@
 /*=============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2001-2010 Hartmut Kaiser
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
 
     Use, modification and distribution is subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -61,21 +62,12 @@
     ///////////////////////////////////////////////////////////////////////////
     // custom real tests
     ///////////////////////////////////////////////////////////////////////////
- //~ {
- //~ using boost::spirit::qi::double_;
- //~ custom_real n;
-
- //~ BOOST_TEST(test_attr("-123456e6", double_, n));
- //~ }
-
- // this should pass, but currently doesn't because of the way the real
- // parser handles the fractional part of a number
- //{
- //using boost::spirit::qi::float_;
-
- //float f;
- //BOOST_TEST(test_attr("123233.4124", float_, f) && f == 123233.4140625f);
- //}
+ {
+ using boost::spirit::qi::double_;
+ custom_real n;
+
+ BOOST_TEST(test_attr("-123456e6", double_, n));
+ }
 
     return boost::report_errors();
 }

Added: trunk/libs/spirit/test/qi/real5.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/real5.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,145 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#include "real.hpp"
+
+int
+main()
+{
+ using spirit_test::test;
+ using spirit_test::test_attr;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized signed real number tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::double_;
+ double d;
+
+ BOOST_TEST(test("+1234", double_(1234)));
+ BOOST_TEST(!test("+1234", double_(-1234)));
+ BOOST_TEST(test_attr("+1234", double_(1234), d));
+ BOOST_TEST(compare(d, 1234));
+ BOOST_TEST(!test_attr("+1234", double_(-1234), d));
+
+ BOOST_TEST(test("-1234", double_(-1234)));
+ BOOST_TEST(!test("-1234", double_(1234)));
+ BOOST_TEST(test_attr("-1234", double_(-1234), d));
+ BOOST_TEST(compare(d, -1234));
+ BOOST_TEST(!test_attr("-1234", double_(1234), d));
+
+ BOOST_TEST(test("+1.2e3", double_(1.2e3)));
+ BOOST_TEST(!test("+1.2e3", double_(-1.2e3)));
+ BOOST_TEST(test_attr("+1.2e3", double_(1.2e3), d));
+ BOOST_TEST(compare(d, 1.2e3));
+ BOOST_TEST(!test_attr("+1.2e3", double_(-1.2e3), d));
+
+ BOOST_TEST(test("-1.2e3", double_(-1.2e3)));
+ BOOST_TEST(!test("-1.2e3", double_(1.2e3)));
+ BOOST_TEST(test_attr("-1.2e3", double_(-1.2e3), d));
+ BOOST_TEST(compare(d, -1.2e3));
+ BOOST_TEST(!test_attr("-1.2e3", double_(1.2e3), d));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized unsigned real number tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::real_parser;
+ using boost::spirit::qi::ureal_policies;
+ double d;
+
+ real_parser<double, ureal_policies<double> > udouble;
+
+ BOOST_TEST(test("1234", udouble(1234)));
+ BOOST_TEST(!test("1234", udouble(4321)));
+ BOOST_TEST(test_attr("1234", udouble(1234), d));
+ BOOST_TEST(compare(d, 1234));
+ BOOST_TEST(!test_attr("1234", udouble(4321), d));
+
+ BOOST_TEST(test("1.2e3", udouble(1.2e3)));
+ BOOST_TEST(!test("1.2e3", udouble(3.2e1)));
+ BOOST_TEST(test_attr("1.2e3", udouble(1.2e3), d));
+ BOOST_TEST(compare(d, 1.2e3));
+ BOOST_TEST(!test_attr("1.2e3", udouble(3.2e1), d));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized custom data type
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::math::concepts::real_concept;
+ using boost::spirit::qi::real_parser;
+ using boost::spirit::qi::real_policies;
+
+ real_parser<real_concept, real_policies<real_concept> > custom_real;
+ real_concept d;
+
+ BOOST_TEST(test("-1234", custom_real(-1234)));
+ BOOST_TEST(!test("-1234", custom_real(4321)));
+ BOOST_TEST(test_attr("-1234", custom_real(-1234), d));
+ BOOST_TEST(compare(d, -1234));
+ BOOST_TEST(!test_attr("-1234", custom_real(-4321), d));
+
+ BOOST_TEST(test("1.2e3", custom_real(1.2e3)));
+ BOOST_TEST(!test("1.2e3", custom_real(-1.2e3)));
+ BOOST_TEST(test_attr("1.2e3", custom_real(1.2e3), d));
+ BOOST_TEST(compare(d, 1.2e3));
+ BOOST_TEST(!test_attr("1.2e3", custom_real(-3.2e1), d));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized lazy tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::phoenix::ref;
+ using boost::spirit::qi::double_;
+ double n = 1.2e3, m = 3.2e1;
+
+ BOOST_TEST(test("1.2e3", double_(ref(n))));
+ BOOST_TEST(!test("1.2e3", double_(ref(m))));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // literal real number tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::lit;
+
+ BOOST_TEST(test("+1.2e3", lit(1.2e3)));
+ BOOST_TEST(!test("+1.2e3", lit(-1.2e3)));
+ BOOST_TEST(test("+1.2e3", 1.2e3));
+ BOOST_TEST(!test("+1.2e3", -1.2e3));
+
+ BOOST_TEST(test("-1.2e3", lit(-1.2e3)));
+ BOOST_TEST(!test("-1.2e3", lit(1.2e3)));
+ BOOST_TEST(test("-1.2e3", -1.2e3));
+ BOOST_TEST(!test("-1.2e3", 1.2e3));
+
+ BOOST_TEST(test("1.2e3", lit(1.2e3)));
+ BOOST_TEST(!test("1.2e3", lit(3.2e1)));
+ BOOST_TEST(test("1.2e3", 1.2e3));
+ BOOST_TEST(!test("1.2e3", 3.2e1));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // literal lazy tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::lit;
+ using boost::phoenix::ref;
+ double n = 1.2e3, m = 3.2e1;
+
+ BOOST_TEST(test("1.2e3", lit(ref(n))));
+ BOOST_TEST(!test("1.2e3", lit(ref(m))));
+ }
+
+ return boost::report_errors();
+}

Added: trunk/libs/spirit/test/qi/regression_float_fraction.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/regression_float_fraction.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/spirit/include/qi_numeric.hpp>
+
+#include "test.hpp"
+
+int
+main()
+{
+ using spirit_test::test_attr;
+ using boost::spirit::qi::float_;
+
+ std::cerr.precision(9);
+
+ float f = 0.0f;
+
+ // this should pass, but currently doesn't because of the way the real
+ // parser handles the fractional part of a number
+ BOOST_TEST(test_attr("123233.4124", float_, f));
+ BOOST_TEST_EQ(f, 123233.4124f);
+ BOOST_TEST(test_attr("987654.3219", float_, f));
+ BOOST_TEST_EQ(f, 987654.3219f);
+
+ return boost::report_errors();
+}
+

Added: trunk/libs/spirit/test/qi/regression_lazy_repeat.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/regression_lazy_repeat.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,36 @@
+/*=============================================================================
+ Copyright (c) 2011 Bryce Lelbach
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/spirit/include/qi_operator.hpp>
+#include <boost/spirit/include/qi_char.hpp>
+#include <boost/spirit/include/qi_repeat.hpp>
+#include <boost/spirit/include/phoenix_core.hpp>
+
+#include "test.hpp"
+
+int
+main()
+{
+ using spirit_test::test_attr;
+ using boost::spirit::qi::repeat;
+ using boost::spirit::qi::char_;
+ using boost::phoenix::ref;
+
+ int n = 5;
+ std::string s = "";
+
+ // this was broken by the addition of handles_container, due to incorrect
+ // dispatching of lazy parsers/directives/terminals in pass_container
+ BOOST_TEST(test_attr("foobar", char_ >> repeat(ref(n))[char_], s));
+
+ BOOST_TEST_EQ(s, "foobar");
+
+ return boost::report_errors();
+}
+

Modified: trunk/libs/spirit/test/qi/uint.hpp
==============================================================================
--- trunk/libs/spirit/test/qi/uint.hpp (original)
+++ trunk/libs/spirit/test/qi/uint.hpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -44,18 +44,20 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // A custom int type
-struct custom_int
+struct custom_uint
 {
- int n;
- custom_int() : n(0) {}
- explicit custom_int(int n_) : n(n_) {}
- custom_int& operator=(int n_) { n = n_; return *this; }
- friend bool operator==(custom_int a, custom_int b)
+ unsigned n;
+ custom_uint() : n(0) {}
+ explicit custom_uint(unsigned n_) : n(n_) {}
+ custom_uint& operator=(unsigned n_) { n = n_; return *this; }
+ friend bool operator==(custom_uint a, custom_uint b)
         { return a.n == b.n; }
- friend custom_int operator*(custom_int a, custom_int b)
- { return custom_int(a.n * b.n); }
- friend custom_int operator+(custom_int a, custom_int b)
- { return custom_int(a.n + b.n); }
+ friend bool operator==(custom_uint a, unsigned b)
+ { return a.n == b; }
+ friend custom_uint operator*(custom_uint a, custom_uint b)
+ { return custom_uint(a.n * b.n); }
+ friend custom_uint operator+(custom_uint a, custom_uint b)
+ { return custom_uint(a.n + b.n); }
 };
 
 #endif

Modified: trunk/libs/spirit/test/qi/uint1.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/uint1.cpp (original)
+++ trunk/libs/spirit/test/qi/uint1.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -128,18 +128,6 @@
     }
 
     ///////////////////////////////////////////////////////////////////////////
- // uint_parser<unused_type> tests
- ///////////////////////////////////////////////////////////////////////////
- {
- using boost::spirit::qi::uint_parser;
- using boost::spirit::qi::unused_type;
- uint_parser<unused_type> any_int;
-
- BOOST_TEST(test("123456", any_int));
- BOOST_TEST(test("1234567890123456789", any_int));
- }
-
- ///////////////////////////////////////////////////////////////////////////
     // action tests
     ///////////////////////////////////////////////////////////////////////////
     {
@@ -171,11 +159,10 @@
     {
         using boost::spirit::qi::uint_;
         using boost::spirit::qi::uint_parser;
- custom_int u;
+ custom_uint u;
 
         BOOST_TEST(test_attr("123456", uint_, u));
-
- uint_parser<custom_int, 10, 1, 2> uint2;
+ uint_parser<custom_uint, 10, 1, 2> uint2;
         BOOST_TEST(test_attr("12", uint2, u));
     }
 

Modified: trunk/libs/spirit/test/qi/uint2.cpp
==============================================================================
--- trunk/libs/spirit/test/qi/uint2.cpp (original)
+++ trunk/libs/spirit/test/qi/uint2.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -1,6 +1,5 @@
 /*=============================================================================
     Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
     Copyright (c) 2011 Bryce Lelbach
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -14,75 +13,79 @@
 {
     using spirit_test::test;
     using spirit_test::test_attr;
+
     ///////////////////////////////////////////////////////////////////////////
- // unsigned tests
+ // unsigned integer literal tests
     ///////////////////////////////////////////////////////////////////////////
     {
- using boost::spirit::qi::uint_;
- unsigned u = 123456;
-
- BOOST_TEST( test("123456", uint_(123456)));
- BOOST_TEST(!test("123456", uint_(4321)));
- BOOST_TEST( test("123456", uint_(u)));
- BOOST_TEST(!test("123456", uint_(u - 1)));
+ using boost::spirit::lit;
+ unsigned i = 123456;
 
- BOOST_TEST(test(max_unsigned, uint_(UINT_MAX)));
-
- BOOST_TEST(!test(unsigned_overflow, uint_(345)));
+ BOOST_TEST( test("123456", lit(123456U)));
+ BOOST_TEST(!test("123456", lit(0U)));
+ BOOST_TEST( test("123456", 123456U));
+ BOOST_TEST(!test("123456", 0U));
+
+ BOOST_TEST( test("123456", lit(i)));
+ BOOST_TEST(!test("123456", lit(unsigned(i - 1))));
+ BOOST_TEST( test("123456", i));
+ BOOST_TEST(!test("123456", unsigned(i - 1)));
     }
 
     ///////////////////////////////////////////////////////////////////////////
- // binary tests
+ // unsigned long long literal tests
     ///////////////////////////////////////////////////////////////////////////
+#ifdef BOOST_HAS_LONG_LONG
     {
- using boost::spirit::qi::bin;
- unsigned u = 0xFE;
-
- BOOST_TEST( test("11111110", bin(0xFE)));
- BOOST_TEST(!test("11111110", bin(0xEF)));
- BOOST_TEST( test("11111110", bin(u)));
- BOOST_TEST(!test("11111110", bin(u - 1)));
-
- BOOST_TEST(test(max_binary, bin(UINT_MAX)));
-
- BOOST_TEST(!test(binary_overflow, bin(9)));
+ using boost::spirit::lit;
+ using boost::ulong_long_type;
+ ulong_long_type ll = 1234567890123456789ULL;
+
+ BOOST_TEST( test("1234567890123456789", lit(1234567890123456789ULL)));
+ BOOST_TEST(!test("1234567890123456789", lit(0ULL)));
+ BOOST_TEST( test("1234567890123456789", 1234567890123456789ULL));
+ BOOST_TEST(!test("1234567890123456789", 0ULL));
+
+ BOOST_TEST( test("1234567890123456789", lit(ll)));
+ BOOST_TEST(!test("1234567890123456789", lit(ulong_long_type(ll - 1))));
+ BOOST_TEST( test("1234567890123456789", ll));
+ BOOST_TEST(!test("1234567890123456789", ulong_long_type(ll - 1)));
     }
+#endif
 
     ///////////////////////////////////////////////////////////////////////////
- // octal literal tests
+ // ushort_ and ulong_ literal tests
     ///////////////////////////////////////////////////////////////////////////
     {
- using boost::spirit::qi::oct;
- unsigned u = 012545674515;
-
- BOOST_TEST( test("12545674515", oct(012545674515)));
- BOOST_TEST(!test("12545674515", oct(051554521)));
- BOOST_TEST( test("12545674515", oct(u)));
- BOOST_TEST(!test("12545674515", oct(u + 1)));
-
- BOOST_TEST(test(max_octal, oct(UINT_MAX)));
-
- BOOST_TEST(!test(octal_overflow, oct(12)));
+ using boost::spirit::lit;
+ unsigned short s = 12345;
+ unsigned long l = 1234567890L;
+
+ BOOST_TEST( test("12345", lit(s)));
+ BOOST_TEST(!test("12345", lit(s - 1)));
+ BOOST_TEST( test("12345", s));
+ BOOST_TEST(!test("12345", s - 1));
+
+ BOOST_TEST( test("1234567890", lit(1234567890UL)));
+ BOOST_TEST(!test("1234567890", lit(98765321UL)));
+ BOOST_TEST( test("1234567890", lit(l)));
+ BOOST_TEST(!test("1234567890", lit(l - 1)));
+ BOOST_TEST( test("1234567890", 1234567890UL));
+ BOOST_TEST(!test("1234567890", 987654321UL));
+ BOOST_TEST( test("1234567890", l));
+ BOOST_TEST(!test("1234567890", l - 1));
     }
-
+
     ///////////////////////////////////////////////////////////////////////////
- // hex literal tests
+ // literal lazy tests
     ///////////////////////////////////////////////////////////////////////////
     {
- using boost::spirit::qi::hex;
- unsigned u = 0x95BC8DF;
-
- BOOST_TEST( test("95BC8DF", hex(0x95BC8DF)));
- BOOST_TEST(!test("95BC8DF", hex(0xFD8C9)));
- BOOST_TEST( test("95BC8DF", hex(u)));
- BOOST_TEST(!test("95BC8DF", hex(u + 1)));
-
- BOOST_TEST( test("abcdef12", hex(0xabcdef12)));
- BOOST_TEST(!test("abcdef12", hex(0x12abcdef)));
-
- BOOST_TEST(test(max_hex, hex(UINT_MAX)));
+ using boost::phoenix::ref;
+ using boost::spirit::qi::lit;
+ unsigned n = 123, m = 321;
 
- BOOST_TEST(!test(hex_overflow, hex(0xdd)));
+ BOOST_TEST(test("123", lit(ref(n))));
+ BOOST_TEST(!test("123", lit(ref(m))));
     }
 
     return boost::report_errors();

Added: trunk/libs/spirit/test/qi/uint3.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/spirit/test/qi/uint3.cpp 2011-01-01 17:22:56 EST (Sat, 01 Jan 2011)
@@ -0,0 +1,144 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2001-2011 Hartmut Kaiser
+ Copyright (c) 2011 Bryce Lelbach
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#include "uint.hpp"
+
+int
+main()
+{
+ using spirit_test::test;
+ using spirit_test::test_attr;
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized unsigned tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::uint_;
+ unsigned u;
+
+ BOOST_TEST(test("123456", uint_(123456)));
+ BOOST_TEST(!test("123456", uint_(654321)));
+ BOOST_TEST(test_attr("123456", uint_(123456), u));
+ BOOST_TEST(u == 123456);
+ BOOST_TEST(!test_attr("123456", uint_(654321), u));
+
+ BOOST_TEST(test(max_unsigned, uint_(UINT_MAX)));
+ BOOST_TEST(test_attr(max_unsigned, uint_(UINT_MAX), u));
+ BOOST_TEST(u == UINT_MAX);
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized binary tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::bin;
+ unsigned u;
+
+ BOOST_TEST(test("11111110", bin(0xFE)));
+ BOOST_TEST(!test("11111110", bin(0xEF)));
+ BOOST_TEST(test_attr("11111110", bin(0xFE), u));
+ BOOST_TEST(u == 0xFE);
+ BOOST_TEST(!test_attr("11111110", bin(0xEF), u));
+
+ BOOST_TEST(test(max_binary, bin(UINT_MAX)));
+ BOOST_TEST(test_attr(max_binary, bin(UINT_MAX), u));
+ BOOST_TEST(u == UINT_MAX);
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized octal tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::oct;
+ unsigned u;
+
+ BOOST_TEST(test("12545674515", oct(012545674515)));
+ BOOST_TEST(!test("12545674515", oct(051547654521)));
+ BOOST_TEST(test_attr("12545674515", oct(012545674515), u));
+ BOOST_TEST(u == 012545674515);
+ BOOST_TEST(!test_attr("12545674515", oct(051547654521), u));
+
+ BOOST_TEST(test(max_octal, oct(UINT_MAX)));
+ BOOST_TEST(test_attr(max_octal, oct(UINT_MAX), u));
+ BOOST_TEST(u == UINT_MAX);
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized hex tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::hex;
+ unsigned u;
+
+ BOOST_TEST(test("95BC8DF", hex(0x95BC8DF)));
+ BOOST_TEST(!test("95BC8DF", hex(0xFD8CB59)));
+ BOOST_TEST(test_attr("95BC8DF", hex(0x95BC8DF), u));
+ BOOST_TEST(u == 0x95BC8DF);
+ BOOST_TEST(!test_attr("95BC8DF", hex(0xFD8CB59), u));
+
+ BOOST_TEST(test("abcdef12", hex(0xabcdef12)));
+ BOOST_TEST(!test("abcdef12", hex(0x12fedcba)));
+ BOOST_TEST(test_attr("abcdef12", hex(0xabcdef12), u));
+ BOOST_TEST(u == 0xabcdef12);
+ BOOST_TEST(!test_attr("abcdef12", hex(0x12fedcba), u));
+
+ BOOST_TEST(test(max_hex, hex(UINT_MAX)));
+ BOOST_TEST(test_attr(max_hex, hex(UINT_MAX), u));
+ BOOST_TEST(u == UINT_MAX);
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized action tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::phoenix::ref;
+ using boost::spirit::ascii::space;
+ using boost::spirit::qi::uint_;
+ using boost::spirit::qi::_1;
+ unsigned n, m;
+
+ BOOST_TEST(test("123", uint_(123)[ref(n) = _1]));
+ BOOST_TEST(n == 123);
+ BOOST_TEST(!test("123", uint_(321)[ref(n) = _1]));
+
+ BOOST_TEST(test_attr("789", uint_(789)[ref(n) = _1], m));
+ BOOST_TEST(n == 789 && m == 789);
+ BOOST_TEST(!test_attr("789", uint_(987)[ref(n) = _1], m));
+
+ BOOST_TEST(test(" 456", uint_(456)[ref(n) = _1], space));
+ BOOST_TEST(n == 456);
+ BOOST_TEST(!test(" 456", uint_(654)[ref(n) = _1], space));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized lazy tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::phoenix::ref;
+ using boost::spirit::qi::uint_;
+ unsigned n = 123, m = 321;
+
+ BOOST_TEST(test("123", uint_(ref(n))));
+ BOOST_TEST(!test("123", uint_(ref(m))));
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // parameterized custom uint tests
+ ///////////////////////////////////////////////////////////////////////////
+ {
+ using boost::spirit::qi::uint_;
+ using boost::spirit::qi::uint_parser;
+ custom_uint u;
+
+ BOOST_TEST(test_attr("123456", uint_(123456), u));
+ uint_parser<custom_uint, 10, 1, 2> uint2;
+ BOOST_TEST(test_attr("12", uint2(12), u));
+ }
+
+ return boost::report_errors();
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk